GLGETLIGHT
Section: Misc. Reference Manual Pages (3G)
索引
xjman
名前
glGetLightfv, glGetLightiv
- 光源パラメータの値を返す
書式
void glGetLightfv(
GLenum light,
GLenum pname,
GLfloat *params )
void glGetLightiv(
GLenum light,
GLenum pname,
GLint *params )
delim $$
引き数
- light
-
光源を指定する。
利用できる光源の数は実装に依存するが、少なくとも8個の光源
に対応している。
光源は GL_LIGHT$i$ の形式のシンボル名で特定する。
ここで 0 < $ i $ < GL_MAX_LIGHTS である。
- pname
-
light に対する光源のパラメータを指定する。
指定可能なシンボル定数は次の通りである:
GL_AMBIENT,
GL_DIFFUSE,
GL_SPECULAR,
GL_POSITION,
GL_SPOT_DIRECTION,
GL_SPOT_EXPONENT,
GL_SPOT_CUTOFF,
GL_CONSTANT_ATTENUATION,
GL_LINEAR_ATTENUATION,
GL_QUADRATIC_ATTENUATION。
- params
-
要求されたデータが返される。
説明
glGetLight は、光源のパラメータの値(複数個の場合もある)を
params に返す。
light は、GL_LIGHT$i$ の形式で光源を指定する。
ここで 0 < $i$ < GL_MAX_LIGHTS である
(GL_MAX_LIGHTS は実装依存の定数であり、8以上の値を取る)。
pname は10個の光源パラメータのうちのひとつを指定する。
これもシンボル名である。
定義されているパラメータは以下の通りである:
- GL_AMBIENT
-
params は光源の環境光の強度を表わす4個の整数値または浮動小数点値を返す。
整数値が要求された場合には、この値は浮動小数点値の内部表現から
線形にマップされる。
マップ処理は、1.0が表現可能な最大の整数値にマップされ、
-1.0 が表現可能な最小の負の整数値にマップされるように行なわれる。
内部値が [-1, 1] の範囲にない場合には、これに対応して返される
整数値は未定義である。
初期値は (0, 0, 0, 1) である。
- GL_DIFFUSE
-
params は光源の拡散の強度を表わす4個の整数値または浮動小数点値を返す。
整数値が要求された場合には、この値は浮動小数点値の内部表現から
線形にマップされる。
マップ処理は、1.0が表現可能な最大の整数値にマップされ、
-1.0 が表現可能な最小の負の整数値にマップされるように行なわれる。
内部値が [-1, 1] の範囲にない場合には、これに対応して返される
整数値は未定義である。
GL_LIGHT0 における初期値は (1, 1, 1, 1) であり、他の光源
における初期値は (0, 0, 0, 0) である。
- GL_SPECULAR
-
params は光源の反射の強度を表わす4個の整数値または浮動小数点値を返す。
整数値が要求された場合には、この値は浮動小数点値の内部表現から
線形にマップされる。
マップ処理は、1.0が表現可能な最大の整数値にマップされ、
-1.0 が表現可能な最小の負の整数値にマップされるように行なわれる。
内部値が [-1, 1] の範囲にない場合には、これに対応して返される
整数値は未定義である。
GL_LIGHT0 における初期値は (1, 1, 1, 1) であり、他の光源
における初期値は (0, 0, 0, 0) である。
- GL_POSITION
-
params は光源の位置を表わす4個の整数値または浮動小数点値を返す。
整数値が要求された場合には、内部的な浮動小数点値を最も近い整数値に
丸めることによって計算する。
返される値は、眼点座標で管理されている値である。
これらの値は、glLight が呼ばれた時とモデルビュー行列が
同じでなければ、 glLight を用いて指定された値と異なる。
初期値は (0, 0, 1, 0) である。
- GL_SPOT_DIRECTION
-
params は光源の向きを表わす3個の整数値または浮動小数点値を返す。
整数値が要求された場合には、内部的な浮動小数点値を最も近い整数値に
丸めることによって計算する。
返される値は、眼点座標で管理されている値である。
これらの値は、glLight が呼ばれた時とモデルビュー行列が
同じでなければ、 glLight を用いて指定された値と異なる。
スポット方向は照明計算の式で使われる前に正規化されるが、
返される値は、指定された値が正規化の前に座標変換されたものである。
初期値は (0, 0, -1) である。
- GL_SPOT_EXPONENT
-
params は光源のスポット指数を表わす1個の整数値または浮動小数点値を返す。
整数値が要求された場合には、内部的な浮動小数点値を最も近い整数値に
丸めることによって計算する。
初期値は 0 である。
- GL_SPOT_CUTOFF
-
params は光源のスポットカットオフ角を表わす1個の整数値または
浮動小数点値を返す。
整数値が要求された場合には、内部的な浮動小数点値を最も近い整数値に
丸めることによって計算する。
初期値は 180 である。
- GL_CONSTANT_ATTENUATION
-
params は光源の(距離に関係ない)定数減衰を表わす1個の整数値または
浮動小数点値を返す。
整数値が要求された場合には、内部的な浮動小数点値を最も近い整数値に
丸めることによって計算する。
初期値は 1 である。
- GL_LINEAR_ATTENUATION
-
params は光源の線形な減衰を表わす1個の整数値または
浮動小数点値を返す。
整数値が要求された場合には、内部的な浮動小数点値を最も近い整数値に
丸めることによって計算する。
初期値は 0 である。
- GL_QUADRATIC_ATTENUATION
-
params は光源の2次の減衰を表わす1個の整数値または浮動小数点値
を返す。
整数値が要求された場合には、内部的な浮動小数点値を最も近い整数値に
丸めることによって計算する。
初期値は 0 である。
注意
常に GL_LIGHT$i$ = GL_LIGHT0 + $i$ が成立する。
エラーが起きた場合には、params の内容は変化しない。
エラー
GL_INVALID_ENUM:
light または pname の値が不正な場合に起こる。
GL_INVALID_OPERATION:
glBegin と、その対になる glEnd の間で
glGetLight が実施されると起こる。
関連項目
glLight(3G)
Index
- 名前
-
- 書式
-
- 引き数
-
- 説明
-
- 注意
-
- エラー
-
- 関連項目
-
Time: 07:01:07 GMT, January 12, 2009