OpenGL:色

本物のページはこちら→color

Included page "opengl:color" does not exist (create it now)

色って大事ですね。
私は色が気に入らないと仕事が進みません。

どこから色を参照にするか

  • ColorLoversの色を簡単に適用したいなら、glColor3ub()がいい。unsigned byteってことで、0-255の範囲で指定できる。
  • ColorPic….Windowsのソフト。これはコンピュータ画面から色を採取できて便利。

データタイプと色の範囲

type 最小値 最大値
GL_BYTE -128 127
GL_UNSIGNED_BYTE 0 255
GL_SHORT -32768 32767
GL_UNSIGNED_SHORT 0 65535
GL_INT -2147483648 2147483647
GL_UNSIGNED_INT 0 4294967295
GL_FLOAT 0.0 1.0
GL_BITMAP

符号付きのは-1.0-1.0にマッピングされる。

色転送モード(Pixel Replacement)

データを転送したあと、ピクセルのどの色要素がどのように反映されるのか表した図。

type red green blue alpha
GL_ALPHA 0 0 0 At
GL_LUMINANCE Lt Lt Lt 1
GL_LUMINANCE_ALPHA Lt Lt Lt At
GL_INTENSITY It It It It
GL_RGB Rt Gt Bt 1
GL_RGBA Rt Gt Bt At

現在の設定色を調べる

float color[4];
glGetFloatv(GL_CURRENT_COLOR,color);//0.0-1.0の範囲に正規化された色が返ってくる
int colint[4];
glGetIntegerv(GL_CURRENT_COLOR,colint);//仕様上はintでも取得できるけど、値が巨大すぎてわかりにくい。こんなの使わないと思う。

サポートサイト Wikidot.com