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 列挙型のいずれかのメンバーを設定できます。 - Diffuse
光源が放出するディフューズ カラーです。このメンバーは D3DCOLORVALUE 構造体です。 - Specular
光源が放出するスペキュラ カラーです。このメンバーは D3DCOLORVALUE 構造体です。 - Ambient
光源が放出するアンビエント カラーです。このメンバーは D3DCOLORVALUE 構造体です。 - Position
ワールド空間内の光源の位置です。D3DVECTOR 構造体で指定されます。このメンバーは、ディレクショナル ライトに対しては意味がないので無視されます。 - Direction
ワールド空間内で光源が向いている方向です。D3DVECTOR 構造体で指定されます。このメンバーは、ディレクショナル ライトおよびスポット ライトでのみ意味を持ちます。このベクトルは正規化する必要はありませんが、長さが 0 でない必要があります。 - Range
光源の有効距離です。このメンバーの最大許容値は、FLT_MAX の平方根です。このメンバーはディレクショナル ライトには影響しません。 - Falloff
スポット ライトの内部コーン (Theta で指定される角度) と外部コーン (Phi で指定される角度) の外側エッジとの間で照射がフォールオフします。 ライティングにおけるフォールオフの効果は、あまり目立ちません。また、フォールオフ曲線を設定するとパフォーマンスが多少ロスします。よって、ここには通常 1.0 を設定します。 - Attenuation0
ライト インテンシティが距離によってどのように変化するかを指定する値です。ディレクショナル ライトの場合、減衰値は無視されます。このメンバーは減衰定数を表します。減衰の詳細については、「ライト プロパティ (Direct3D 9)」を参照してください。このメンバーの有効な値は、0.0 から無限大までの範囲です。ディレクショナル ライト以外の場合、3 つの減衰値を同時に 0.0 に設定しないようにしてください。 - Attenuation1
ライト インテンシティが距離によってどのように変化するかを指定する値です。ディレクショナル ライトの場合、減衰値は無視されます。このメンバーは減衰定数を表します。減衰の詳細については、「ライト プロパティ (Direct3D 9)」を参照してください。このメンバーの有効な値は、0.0 から無限大までの範囲です。ディレクショナル ライト以外の場合、3 つの減衰値を同時に 0.0 に設定しないようにしてください。 - Attenuation2
ライト インテンシティが距離によってどのように変化するかを指定する値です。ディレクショナル ライトの場合、減衰値は無視されます。このメンバーは減衰定数を表します。減衰の詳細については、「ライト プロパティ (Direct3D 9)」を参照してください。このメンバーの有効な値は、0.0 から無限大までの範囲です。ディレクショナル ライト以外の場合、3 つの減衰値を同時に 0.0 に設定しないようにしてください。 - Theta
スポット ライトの内部コーン、つまり完全に光で照らされているスポット ライト コーンの角度をラジアン単位で表します。この値は、0 から Phi で指定された値の範囲になければなりません。 - Phi
スポット ライトの外円すいの外側のエッジを定義する角度をラジアン単位で表します。この円すいの外側は、ライティングされません。この値は、0 から π までの範囲になければなりません。
要件
ヘッダー: D3D9FFTypes.h 宣言