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 型である。
- attenuation0、attenuation1 および 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 メンバで指定される値の範囲になければならない。
注意
ライティングに関する詳しい情報については、「ライト」を参照すること。