Microsoft DirectX 8.0 (Visual Basic)

D3DLIGHT8

一連のライト プロパティを定義する。

Type D3DLIGHT8
    ambient As D3DCOLORVALUE
    diffuse As D3DCOLORVALUE
    specular As D3DCOLORVALUE
    type As CONST_D3DLIGHTTYPE
    Attenuation0 As Single
    Attenuation1 As Single
    Attenuation2 As Single
    Direction As D3DVECTOR
    Falloff As Single
    Phi As Single
    position As D3DVECTOR
    Range As Single
    Theta As Single
End Type 

メンバ

ambient
ライトが放射するアンビエント色。このメンバは、D3DCOLORVALUE 型である。
diffuse
ライトが放射するディフューズ色。このメンバは D3DCOLORVALUE 型である。
specular
ライトが放射するスペキュラ色。このメンバは D3DCOLORVALUE 型である。
type
光源の種類。この値は、CONST_D3DLIGHTTYPE 列挙のメンバの 1 つである。
Attenuation0、Attenuation1、および Attenuation2
光の輝度が距離によってどのように変化するかを指定する値。ディレクショナル ライトの場合、減衰値は無視される。これらのメンバは減衰定数を表す。減衰については、「距離の増加によるライトの減衰」を参照すること。これらのメンバの有効な値の範囲は、0.0 から無限大である。ディレクショナル ライト以外の場合、3 つの減衰値すべてを同時に 0.0 に設定してはならない。
Direction
ワールド空間で光が指す方向。D3DVECTOR 型で指定される。このメンバは、ディレクショナル ライトおよびスポット ライトの場合にのみ意味を持つ。このベクトルは正規化する必要はないが、ゼロでない長さを持たなければならない。
Falloff
スポット ライトの内部コーン (Thetaで指定される角度) と外部コーン (Phi で指定される角度) の外側エッジとの間で輝度がフォールオフする。

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

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

参照

Direct3DDevice8.GetLightDirect3DDevice8.SetLight