D3DLIGHT9 構造体
照明プロパティのセットを定義します。
構文
typedef struct D3DLIGHT9 {
D3DLIGHTTYPE Type;
D3DCOLORVALUE Diffuse;
D3DCOLORVALUE Specular;
D3DCOLORVALUE Ambient;
D3DVECTOR Position;
D3DVECTOR Direction;
float Range;
float Falloff;
float Attenuation0;
float Attenuation1;
float Attenuation2;
float Theta;
float Phi;
} D3DLIGHT9, *LPD3DLIGHT;
メンバー
-
Type
-
種類: D3DLIGHTTYPE
-
光源の種類。 この値は、 D3DLIGHTTYPE 列挙型のメンバーの 1 つです。
-
拡散光
-
ライトによって放出される拡散色。 このメンバーは D3DCOLORVALUE 構造体です。
-
反射
-
ライトによって出力される反射色。 このメンバーは D3DCOLORVALUE 構造体です。
-
環境光
-
ライトによって放射されるアンビエント カラー。 このメンバーは D3DCOLORVALUE 構造体です。
-
Position
-
型: D3DVECTOR
-
D3DVECTOR 構造体で指定されたワールド空間内のライトの位置。 このメンバーは方向ライトには意味がなく、その場合は無視されます。
-
方向
-
型: D3DVECTOR
-
D3DVECTOR 構造体で指定されたワールド空間でライトが指している方向。 このメンバーは、方向とスポットライトについてのみ意味を持ちます。 このベクトルは正規化する必要はありませんが、0 以外の長さを持つ必要があります。
-
Range
-
型: float
-
ライトが影響を及ぼす距離。 このメンバーの最大許容値は、FLT_MAXの平方根です。 このメンバーは方向ライトには影響しません。
-
フォールオフ
-
型: float
-
スポットライトの内円錐 (Theta で指定された角度) と外側コーンの外縁 (Phi で指定された角度) の間の照明の減少。
照明に対するフォールオフの影響は微妙です。 さらに、フォールオフ曲線を形成することで、わずかなパフォーマンス低下が発生します。 このような理由から、ほとんどの開発者はこの値を 1.0 に設定します。
-
減衰0
-
型: float
-
距離に対する光の強度の変化を示す値。 ディレクショナル ライトの減衰値は無視されます。 このメンバーは減衰定数を表します。 減衰の詳細については、「 Light Properties (Direct3D 9)」を参照してください。 このメンバーの有効な値の範囲は 0.0 から無限大です。 非方向ライトの場合、3 つの減衰値はすべて同時に 0.0 に設定しないでください。
-
減衰1
-
型: float
-
距離に対する光の強度の変化を示す値。 ディレクショナル ライトの減衰値は無視されます。 このメンバーは減衰定数を表します。 減衰の詳細については、「 Light Properties (Direct3D 9)」を参照してください。 このメンバーの有効な値の範囲は 0.0 から無限大です。 非方向ライトの場合、3 つの減衰値はすべて同時に 0.0 に設定しないでください。
-
減衰2
-
型: float
-
距離に対する光の強度の変化を示す値。 ディレクショナル ライトの減衰値は無視されます。 このメンバーは減衰定数を表します。 減衰の詳細については、「 Light Properties (Direct3D 9)」を参照してください。 このメンバーの有効な値の範囲は 0.0 から無限大です。 非方向ライトの場合、3 つの減衰値はすべて同時に 0.0 に設定しないでください。
-
シータ
-
型: float
-
スポットライトの内部円錐の角度 (ラジアン単位)、つまり、完全に照らされたスポットライト コーン。 この値は、0 から Phi で指定された値までの範囲である必要があります。
-
ファイ
-
型: float
-
スポットライトの外円錐の外側の端を定義する角度 (ラジアン単位)。 この円錐の外側のポイントはスポットライトによって照らされません。 この値は 0 から pi の間である必要があります。
要件
要件 | 値 |
---|---|
ヘッダー |
|
関連項目