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 宣言

関連項目

IDirect3DDevice9::GetLight, IDirect3DDevice9::SetLight