next up previous contents index
Next: 8.1 glutSetColor Up: GLUT APIversion 3 Previous:7.19 glutTimerFunc

8 Color Index Colormap Management

OpenGL は RGBA とカラーインデックスの両方のレンダリングをサポートしています. 一般にRGBA モードの方がカラーインデックスよりも望ましいでしょう. なぜならばRGBA モードの方がより多くの OpenGL レンダリングの機能が利用でき, また,カラーインデックス・モードはカラーマップのエントリーを ロードしなければならないからです.

GLUT のカラーインデックス・ルーチンは, あるウィンドウのカラーインデックス・カラーマップを 読み書きするのに用いられます. 全ての GLUT カラーインデックス・ウィンドウは 論理的なカラーインデックス・カラーマップを所持しています. あるウィンドウのカラーマップのサイズは, glutGet(GLUT_WINDOW_COLORMAP_SIZE)を コールすることによって知ることができます.

あるプログラム内の GLUT カラーインデックス・ウィンドウは, glutCopyColormapを用いてひとつのカラーインデックス・カラーマップを 複数のウィンドウにコピーすることによって カラーマップ・リソースの共有を試みることができます. 可能であれば,GLUT は実際のカラーマップの共有を試みることもできます. glutCopyColormapを用いてカラーマップをコピーすることにより, 物理的なカラーマップ・リソースの共有が潜在的に可能となりますが, 論理的には各ウィンドウはそれ自身のカラーマップをそれぞ所持しています. 従って,あるウィンドウのコピーされたカラーマップを変更することは, カラーマップの重複(複製?)を強いることになります. この理由により,一般にカラーインデックスを用いたプログラムは, プログラム内においてひとつのカラーインデックス・カラーマップをロードし, 全てのカラーインデックス・ウィンドウにコピーし, そしてカラーマップのセルを変更しないようにしなければなりません.

複数のカラーマップの利用は, カラーマップ・インストレーション問題, つまり,カラーマップ・リソースの制限により,ウィンドウの中に 不正なカラーマップによって描画されてしまうものが出てくるという 問題を引き起こしがちになります.



next up previous contents index
Next: 8.1 glutSetColor Up: GLUT APIversion 3 Previous:7.19 glutTimerFunc
Mark Kilgard
Fri Feb 23 08:05:02 PST 1996