D3DDDI_LIGHT 構造体 (d3dumddi.h)
D3DDDI_LIGHT構造体は、一連の照明プロパティを記述します。
構文
typedef struct _D3DDDI_LIGHT {
[in] D3DLIGHTTYPE Type;
[in] D3DCOLORVALUE Diffuse;
[in] D3DCOLORVALUE Specular;
[in] D3DCOLORVALUE Ambient;
[in] D3DVECTOR Position;
[in] D3DVECTOR Direction;
[in] FLOAT Range;
[in] FLOAT Falloff;
[in] FLOAT Attenuation0;
[in] FLOAT Attenuation1;
[in] FLOAT Attenuation2;
[in] FLOAT Theta;
[in] FLOAT Phi;
} D3DDDI_LIGHT;
メンバー
[in] Type
光源の種類を示すD3DLIGHTTYPE型指定の値。 D3DLIGHTTYPEの詳細については、Microsoft Windows SDKドキュメントを参照してください。
[in] Diffuse
光によって放射される拡散色を示すD3DCOLORVALUE構造体。 D3DCOLORVALUEの詳細については、Windows SDK のドキュメントを参照してください。
[in] Specular
光によって放射される反射色を示すD3DCOLORVALUE構造体。
[in] Ambient
ライトによって出力されるアンビエントカラーを示すD3DCOLORVALUE構造体。
[in] Position
ワールド空間内のライトの位置を示すD3DVECTOR構造体。 このメンバーは、方向ライト ( Type メンバーで D3DLIGHT_DIRECTIONALが設定されている場合) には意味がなく、その場合は無視されます。 D3DVECTORの詳細については、Windows SDK のドキュメントを参照してください。
[in] Direction
ライトがワールド空間を指す方向を示すD3DVECTOR構造体。 このメンバーは、方向ライトとスポットライトに対してのみ意味があります (つまり、D3DLIGHT_DIRECTIONALとD3DLIGHT_SPOTが Type に設定されている場合)。 このベクターは正規化する必要はありませんが、0 以外の長さを持つ必要があります。
[in] Range
ライトが影響を与えない距離。 このメンバーの最大許容値はD3DLIGHT_RANGE_MAXで、FLT_MAXの平方根として定義されます。 このメンバーは、ディレクショナル ライトには影響しません。
[in] Falloff
スポットライトの内部円錐 ( Theta メンバーによって指定される角度) と外円錐の外縁 ( Phi メンバーによって指定される角度) の間の照明の減少。 照明に対する減衰の影響は微妙です。 さらに、減衰曲線を形成することで、パフォーマンスの低下が小さくなります。 これらの理由から、ほとんどの開発者はこのメンバーを 1.0 に設定します。
[in] Attenuation0
ライトの一定の減衰係数。 減衰値は、距離に対して光の強度がどのように変化するかを指定します。 減衰はディレクショナル ライトには影響しません。 このメンバーの有効な値の範囲は 0.0 ~ 無限大です。
[in] Attenuation1
ライトの線形減衰係数。 減衰値は、距離に対して光の強度がどのように変化するかを指定します。 減衰はディレクショナル ライトには影響しません。 このメンバーの有効な値の範囲は 0.0 ~ 無限大です。
[in] Attenuation2
ライトの 2 次減衰係数。 減衰値は、距離に対して光の強度がどのように変化するかを指定します。 減衰はディレクショナル ライトには影響しません。 このメンバーの有効な値の範囲は 0.0 ~ 無限大です。
[in] Theta
スポットライトの内部円錐の角度 (ラジアン単位)、つまり、完全に照らされたスポットライト コーン。 この値は、0 から Phi メンバーによって指定された値までの範囲である必要があります。
[in] Phi
スポットライトの外側円錐の外側の端を定義する角度 (ラジアン単位)。 この円錐の外側のポイントは、スポットライトによって点灯しません。 この値は 0 から Pi の間である必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
Header | d3dumddi.h (D3dumddi.h を含む) |