Platform SDK: DirectX

D3DLIGHT7

D3DLIGHT7 型は、Direct3DDevice7.SetLight および Direct3DDevice7.GetLight などのメソッドを呼び出すための、光源型を決定する。

Type D3DLIGHT7
    ambient As D3DCOLORVALUE
    attenuation0 As Single
    attenuation1 As Single
    attenuation2 As Single
    diffuse As D3DCOLORVALUE
    direction As D3DVECTOR
    dltType As CONST_D3DLIGHTTYPE
    falloff As Single
    phi As Single
    position As D3DVECTOR
    range As Single
    specular As D3DCOLORVALUE
    theta As Single
End Type

メンバ

ambient
光によって放射されるアンビエント色。このメンバは、D3DCOLORVALUE 型である。
attenuation0attenuation1 および attenuation2
距離による光の輝度の変化を指定する値 (ディレクショナル ライトは減衰には影響されない)。これらの減衰係数によって光がどのように影響を受けるかについては、「距離の増加によるライトの減衰」を参照すること。これらのメンバの有効値は、0.0 以上である。
diffuse
光によって放射されるディフューズ色。このメンバは、D3DCOLORVALUE 型である。
direction
ワールド空間での光源の範囲。このメンバは、ディレクショナル ライトおよびスポット ライトの場合にのみ意味を持つ。このベクトルは正規化する必要はないが、ゼロでない長さを持たねばならない。
dltType
光源の型。この値は、次の CONST_D3DLIGHTTYPE 列挙のメンバの 1 つになる。
falloff
スポット ライトの内円錐 (theta メンバで指定される角度) と外円錐の外枠 (phi メンバで指定される角度) の間で輝度が減少する。スポット ライトが falloff の値によってどのように影響を受けるかについての詳細は、「スポット ライト フォールオフ モデル」を参照すること。

ライティングに対するフォールオフの影響は微妙である。さらに、フォールオフ曲線を描くと多少の性能上のロスを被る。これらの理由により、多くの開発者はこの値を 0 にセットする。

phi
スポット ライトの外円錐の外側のエッジを定義する角度をラジアン単位で表す。この円錐の外側にある点はスポット ライトでライティングされない。この値は 0 から pi の範囲になければならない。
position
ワールド空間での光源の位置。このメンバは、ディレクショナル ライトにおいては意味がなく、このケースでは無視される。
range
光源の有効距離。このメンバの最大許容値は D3DLIGHT_RANGE_MAX で、FLT_MAX の平方根として定義される。このメンバはディレクショナル ライトには影響しない。
specular
光によって放射されるスペキュラ色。このメンバは、D3DCOLORVALUE 型である。
theta
スポット ライトの内円錐をラジアン単位で表す。つまり、スポット ライトが明瞭に照らす円錐である。この値は 0 から、phi メンバで指定される値の範囲になければならない。

注意

ライティングに関する詳しい情報については、「ライト」を参照すること。