次の方法で共有


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

スポットライトの内部円錐(θ 部材で指定される角度)と外円錐の外縁(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 オペレーティング システムで使用できます。
ヘッダー d3dumddi.h (D3dumddi.h を含む)

関連項目

SetLight