Platform SDK: DirectX

アンビエント ライト ステート

アンビエント ライトとは、全方向から照らす環境光である。Direct3D のアンビエント ライトの使用に関する特定の情報については、「ダイレクト ライトとアンビエント ライトの比較」および「Direct3D のライティングにおける数学的計算」を参照すること。

[C++]

C++ アプリケーションでアンビエント ライトの色を設定するには、IDirect3DDevice7::SetRenderState メソッドを呼び出し、第 1 パラメータとして列挙値 D3DRENDERSTATE_AMBIENT を渡す。第 2 パラメータは RGBA フォーマットで表す色である。デフォルトはゼロである。

// このコードでは、lpD3DDevice は IDirect3DDevice7 インターフェイスへの
// 有効なポインタであるとする。
 
// アンビエント ライトを設定する。
D3DCOLOR d3dclrAmbientLightColor = D3DRGBA(1.0f,1.0f,1.0f,1.0f);
lpD3DDevice->SetRenderState(D3DRENDERSTATE_AMBIENT, 
                            d3dclrAmbientLightColor);
[Visual Basic]

Visual Basic アプリケーションでアンビエント ライトの色を設定するには、Direct3DDevice7.SetRenderState メソッドを呼び出し、列挙値 D3DRENDERSTATE_AMBIENT を第 1 パラメータとして渡す。第 2 パラメータは RGBA フォーマットで表す色である。デフォルトはゼロである。

' このコードでは、D3DDevice に Direct3DDevice7 オブジェクトへの
' 有効な参照が格納され、および dx に DirectX7 オブジェクトへの
' 有効な参照が格納されているとする。
Dim AmbientLightColor As Long

' アンビエント ライトを設定する。
AmbientLightColor = dx.CreateColorRGBA(1#, 1#, 1#, 1#)
Call D3DDevice.SetRenderState(D3DRENDERSTATE_AMBIENT, _
                              AmbientLightColor)