GLGETMATERIAL

Section: Misc. Reference Manual Pages (3G)
索引 xjman
 

名前

glGetMaterialfv, glGetMaterialiv - 材質のパラメータを返す

 

書式

void glGetMaterialfv( GLenum face,

                        GLenum pname,
                        GLfloat *params )
void glGetMaterialiv( GLenum face,

                        GLenum pname,
                        GLint *params )

delim $$  

引き数

face
ふたつの材質のうちどちらを問い合わせるのかを指定する。 GL_FRONT または GL_BACK を指定することができる。 これらはそれぞれ、表面の材質と裏面の材質を表わす。
pname
問い合わせる材質パラメータを指定する。 以下の値を指定できる: GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_EMISSION, GL_SHININESS, GL_COLOR_INDEXES
params
要求したデータが返される。
 

説明

glGetMaterial は、face の材質について、 pname で指定したパラメータの値(複数個のこともある)を params に返す。 定義されているパラメータは以下の6個である:

GL_AMBIENT
params は材質の環境反射率を表わす4個の整数値または浮動小数点値を返す。 整数値が要求された場合には、この値は浮動小数点値の内部表現から 線形にマップされる。 マップ処理は、1.0が表現可能な最大の整数値にマップされ、 -1.0 が表現可能な最小の負の整数値にマップされるように行なわれる。 内部値が [-1, 1] の範囲にない場合には、これに対応して返される 整数値は未定義である。 初期値は (0.2, 0.2, 0.2, 1.0) である。
GL_DIFFUSE
params は材質の拡散反射率を表わす4個の整数値または浮動小数点値を返す。 整数値が要求された場合には、この値は浮動小数点値の内部表現から 線形にマップされる。 マップ処理は、1.0が表現可能な最大の整数値にマップされ、 -1.0 が表現可能な最小の負の整数値にマップされるように行なわれる。 内部値が [-1, 1] の範囲にない場合には、これに対応して返される 整数値は未定義である。 初期値は (0.8, 0.8, 0.8, 1.0) である。
GL_SPECULAR
params は材質の鏡面反射率を表わす4個の整数値または 浮動小数点値を返す。 整数値が要求された場合には、この値は浮動小数点値の内部表現から 線形にマップされる。 マップ処理は、1.0が表現可能な最大の整数値にマップされ、 -1.0 が表現可能な最小の負の整数値にマップされるように行なわれる。 内部値が [-1, 1] の範囲にない場合には、これに対応して返される 整数値は未定義である。 初期値は (0, 0, 0, 1) である。
GL_EMISSION
params は材質の発光の強度を表わす4個の整数値または 浮動小数点値を返す。 整数値が要求された場合には、この値は浮動小数点値の内部表現から 線形にマップされる。 マップ処理は、1.0が表現可能な最大の整数値にマップされ、 内部値が [-1, 1] の範囲にない場合には、これに対応して返される 整数値は未定義である。 初期値は (0, 0, 0, 1) である。
GL_SHININESS
params は材質の鏡面反射の指数を表わす1個の整数値または 浮動小数点値を返す。 整数値が要求された場合には、内部的な浮動小数点値を最も近い整数値に 丸めることによって計算する。 初期値は 0 である。
GL_COLOR_INDEXES
params は材質の環境光、拡散、鏡面反射のインデックスを表わす 3個の整数値または浮動小数点値を返す。 これらのインデックスは色インデックスモードの照明処理の場合にのみ使われる。 (他の全てのパラメータはRGBAモードの照明処理の場合にのみ使われる。) 整数値が要求された場合には、内部的な浮動小数点値を最も近い整数値に 丸めることによって計算する。
 

注意

エラーが起きた場合には、params の内容は変化しない。  

エラー

GL_INVALID_ENUM: face または pname の値が不正な場合に起こる。 GL_INVALID_OPERATION: glBegin と、その対になる glEnd の間で glGetMaterial を実行すると起こる。  

関連項目

glMaterial(3G)


 

Index

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

jman



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