TEDIA会員に登録したメールアドレスとパスワードを入力してください

メールアドレス:

     パスワード:


パスワードを忘れた方はパスワードの確認を行ってください。

TEDIA会員へのご登録がお済みで無い方はこちらで登録ができます


>> テクノロジーポータル TEDIA トップページへ戻る <<

Think IT Software Developer's Think IT Find-IT 失敗しないソフト選び Find-IT TEDIA テクノロジーポータル TEDIA インストールマニアックス2008 インストールマニアックス2008

TEDIA SponsorsOpen Source Web Development Tutorials - Dev Shed

OpenGLによる色の使用方法
(2009/01/20公開)

RGBモード

 RGBモードは、アルファ要素を使う場合はRGBAモードとも呼ばれます。RGBは、赤(Red)、緑(Green)、青(Blue)の略です。RGBAのAはアルファ(Alpha)要素を意味します。これは、赤、青、緑の要素の透明度を定義します。このモードでは、赤、青、緑の要素を格納するため、一定数のビットプレーンがハードウエアに用意されます。R、G、Bの値は浮動小数点数値ではなく整数値として格納されます。これらの要素の値は0~255のいずれかです。範囲がこれより大きいこともあります。ある要素について許容される値の範囲は、その要素に使用できるビット数に基づいて決められます。一般に、ほとんどのシステムでは、利用できるビットは8つです。このため、色要素の輝度を指定するために255までの数値が使われます。

 利用可能なビットの数は、要素のビットプレーンに直接対応しています。この場合8ビット利用できるため、赤、青、緑の各要素について8ビットをサポートしているシステムには、2^8 = 256のビットプレーンが存在します。要素の整数値は、その要素について利用可能なビットプレーンの数で割ることで、浮動小数点数値に変換できます。例えば、8ビットのシステムには、赤の色要素について利用可能な256のビットプレーンがあります。各プレーンの値は0~255です。したがって、ビットプレーンの0は、Rの浮動小数点値としては0 / 255 = 0.0に対応します。この値は、すべての色の要素について0.0~1.0です。図で示すと、RGBAは次のようになります。

インデックスモード

 インデクスモード(色インデクスモードとも呼ばれます)は、参照テーブルを使って色を混合することから、この名前で呼ばれます。番号付きのパレットを使って各種の色を作成する画家に例えることができます。この比喩(ひゆ)で言うと、画家のパレットに色を混ぜるためのスペースがあり、そこが新しい色のインデクスとして機能するように、色マップや参照テーブルのインデクスを使って色要素を混合することができます。このマップは、ビットプレーンに格納されます。次に、それらビットプレーンの値はカラーマップを参照し、カラーマップ上でインデクスに対応する赤、青、緑の値を使用して画面に描画されます。図で示すと、カラーマップは次のようになります。

 OpenGLでは、このどちらの方式も簡単に管理でき、開発者は低レベルのシステムコールや、デバイス依存のAPIマッピングを知る必要はありません。これらの機能を実行するOpenGLコマンドを使う方法については、次のセクションで説明します。


前のページ     1    2    3    4    次のページ

Copyright © 2008 Ziff Davis Enterprise, Inc.
Originally appearing in the U.S. Edition of Dev Shed. All Rights Reserved.