次の方法で共有


glLighti 関数

glLighti 関数は、光源パラメーター値を返します。

構文

void WINAPI glLighti(
   GLenum light,
   GLenum pname,
   GLint  param
);

パラメーター

light

ライトの識別子。 使用可能なライトの数は実装によって異なりますが、少なくとも 8 つのライトがサポートされています。 これらは、i GL_LIGHT形式のシンボリック名によって識別されます。ここで、i は値 0 から GL_MAX_LIGHTS - 1 です。

pname

ライトの単一値光源パラメーター。 次のシンボリック名を使用できます。

説明
GL_SPOT_EXPONENT
param パラメーターは、ライトの強度分布を指定する単一の整数値です。 整数と浮動小数点の値は直接マップされます。 [0, 128] の範囲内の値のみが受け入れられます。
有効な光強度は、光の方向と光の方向から光の頂点までの方向との間の角度のコサインによって減衰し、スポット指数の累乗に上昇します。 したがって、スポット指数が大きいほど、スポットカットオフ角度に関係なく、より焦点を合わせる光源が得られます。 既定のスポット指数は 0 で、均一な配光になります。
GL_SPOT_CUTOFF
param パラメーターは、光源の最大拡散角度を指定する単一の整数値です。 整数と浮動小数点の値は直接マップされます。 [0, 90] の範囲内の値と特殊な値 180 のみが受け入れられます。
ライトの方向とライトが点灯する頂点までの方向の角度がスポット カットオフ角度よりも大きい場合、ライトは完全にマスクされます。 それ以外の場合、その強度はスポット指数と減衰係数によって制御されます。 既定のスポット カットオフは 180 で、均一な配光になります。
GL_CONSTANT_ATTENUATION、GL_LINEAR_ATTENUATION、GL_QUADRATIC_ATTENUATION
param パラメーターは、3 つの光減衰係数のいずれかを指定する単一の整数値です。 整数と浮動小数点の値は直接マップされます。 負でない値のみが受け入れられます。
光が方向ではなく位置的である場合、その強度は、定数係数、光と頂点の間の距離を乗算した線形係数、および同じ距離の二乗係数の和の逆数によって減衰します。 既定の減衰係数は (1,0,0) であるため、減衰はありません。

param

光源光源のpname パラメーターの値を設定します。

戻り値

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

エラー コード

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

名前 意味
GL_INVALID_ENUM
light または pname が受け入れられた値ではありません。
GL_INVALID_VALUE
スポット指数値が [0, 128] の範囲外で指定されたか、またはスポット カットオフが [0, 90] の範囲外で指定された (特殊な値 180 を除く)、または負の減衰係数が指定されました。
GL_INVALID_OPERATION
この関数は、 glBegin の呼び出しと glEnd の対応する呼び出しの間で呼び出されました。

解説

glLighti 関数は、個々の光源パラメータの値または値を設定します。 light パラメーターは light という名前を付け、i GL_LIGHT形式のシンボル名です。ここで、0 = i< GL_MAX_LIGHTS。

pname パラメーターは、いずれかの光源パラメーターをシンボリック名で指定します。 param パラメーターは、1 つの値か、新しい値を含む配列へのポインターです。

引数 GL_LIGHTING で glEnableglDisable を使用して照明計算を有効または無効にします。 照明を有効にすると、有効になっている光源が照明計算に寄与します。 光源 i は、引数 i で glEnableglDisable を使用して有効または無効GL_LIGHT。

i = GL_LIGHT0 +i をGL_LIGHTする場合は常 にです

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

glGetLight

glIsEnabled with argument GL_LIGHTING

必要条件

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

関連項目

glBegin

glColorMaterial

glEnd

glLightModel

glMaterial