Microsoft DirectX 8.0 (Visual Basic)

ライトの有効/無効

シーン内の光源のライト プロパティ セットをいったん割り当てると、デバイスに対して Direct3DDevice8.LightEnable メソッドを呼び出すことで、その光源をアクティブにすることができる。新しく割り当てた光源は、デフォルトでは無効になっている。LightEnable メソッドは、2 つのパラメータを受け取る。第 1 パラメータには、メソッドで処理する光源のインデックス (0 から始まる) を設定する。第 2 パラメータには、ライトを有効にする場合は TRUE、無効にする場合は FALSE を設定する。

次のコードは、LightEnable メソッドを使用して、デバイスの光源プロパティのリスト内の最初の光源を有効にする方法を示している。

'
' このコードでは、変数 d3dDevice は、Direct3DDevice8 オブジェクトへの
' 有効な参照を格納していると仮定している。
'
On Local Error Resume Next

Call d3dDevice.LightEnable(0, True)
If Err.Number <> D3D_OK Then
    ' エラー処理コード。
End If

Direct3Ddevice8.SetLight で設定するプロパティがないライトを有効または無効にする場合、LightEnable メソッドは以下の表のプロパティを持つ光源を作成し、その光源を有効または無効にする。

メンバ デフォルト
Type D3DLIGHT_DIRECTIONAL
Diffuse (R:1, G:1, B:1, A:0)
Specular (R:0, G:0, B:0, A:0)
Ambient (R:0, G:0, B:0, A:0)
Position (0, 0, 0)
Direction (0, 0, 1)
Range 0
Falloff 0
Attenuation0 0
Attenuation1 0
Attenuation2 0
Theta 0
Phi 0