次の方法で共有


glMateriali 関数

glMateriali 関数は、照明モデルのマテリアル パラメータを指定します。

構文

void WINAPI glMateriali(
   GLenum face,
   GLenum pname,
   GLint  param
);

パラメーター

更新される顔。 GL_FRONT、GL_BACK、またはGL_FRONTとGL_BACKのいずれかである必要があります。

pname

更新する面または面の単一値マテリアル パラメータ。 GL_SHININESSする必要があります。

説明
GL_SHININESS
param パラメーターは、マテリアルの RGBA 反射指数を指定する 1 つの整数です。 整数値は直接マップされます。 [0, 128] の範囲内の値のみが受け入れられます。 前面と背面の両方のマテリアルの既定の反射指数は 0 です。

param

パラメーター GL_SHININESSが設定される値。

戻り値

この関数は値を返しません。

エラー コード

glGetError 関数では、次のエラー コードを取得できます。

名前 意味
GL_INVALID_ENUM
face または pname は受け入れられた値ではありません。
GL_INVALID_VALUE
[0, 128] の範囲外の反射指数が指定されました。

解説

glMateriali 関数は、数量単価型パラメーターに値を割り当てます。 材料パラメータには、一致する 2 つのセットがあります。 1 つ目の 前面 セットは、ポイント、線、ビットマップ、およびすべてのポリゴン (両面照明が無効になっている場合)、または前面に面した多角形 (両面照明が有効になっている場合) に使用されます。 もう 1 つのセット( 背面向き)は、両面照明が有効になっている場合にのみ、背面向きのポリゴンをシェーディングするために使用されます。 片側と両面の照明の計算の詳細については、 glLightModel を参照してください。

glMateriali 関数は、3 つの引数を受け取ります。 1 つ目の は、GL_FRONTマテリアル、GL_BACKマテリアル、または両方のGL_FRONT_AND_BACKマテリアルを変更するかどうかを指定します。 2 番目の pname は、1 つまたは両方のセット内の複数のパラメーターのうち、変更するパラメーターを指定します。 3 番目の param は、指定したパラメーターに割り当てる値を指定します。

マテリアル パラメータは、必要に応じて各頂点に適用される照明方程式で使用されます。 この式については、 glLightModel で説明します。

材料パラメータはいつでも更新できます。 特に、 glMateriali は、 glBegin の呼び出しと glEnd の対応する呼び出しの間で呼び出すことができます。 ただし、頂点ごとに 1 つのマテリアル パラメータのみを変更する場合は、glMateriali よりも glColorMaterial が優先されます。

次の関数は、 glMateriali に関連する情報を取得します。

glGetMaterial

必要条件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Gl.h
ライブラリ
Opengl32.lib
[DLL]
Opengl32.dll

関連項目

glColorMaterial

glLight

glLightModel