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

名前
書式
引き数
説明
注意
エラー
関連項目

jman



Time: 07:01:07 GMT, January 12, 2009