Microsoft DirectX 8.0 (C++) |
マテリアルは、ジオメトリ オブジェクトにライトが当たったときに、ジオメトリ オブジェクトのサーフェスから反射される色を定義する。次のサンプル コードでは、D3DMATERIAL8 構造体を使って、黄色のマテリアルを作成している。
D3DMATERIAL8 mtrl; ZeroMemory( &mtrl, sizeof(D3DMATERIAL8) ); mtrl.Diffuse.r = mtrl.Ambient.r = 1.0f; mtrl.Diffuse.g = mtrl.Ambient.g = 1.0f; mtrl.Diffuse.b = mtrl.Ambient.b = 0.0f; mtrl.Diffuse.a = mtrl.Ambient.a = 1.0f; g_pd3dDevice->SetMaterial( &mtrl );
このマテリアルのディフューズ色およびアンビエント色は黄色に設定される。IDirect3DDevice8::SetMaterial メソッドの呼び出しによって、シーンのレンダリングに使用される Microsoft® Direct3D® デバイスにマテリアルが適用される。SetMaterial が受け取るパラメータは、設定するマテリアルのアドレスだけである。この呼び出しが行われた後、別のマテリアルを指定する SetMaterial の次の呼び出しが行われるまで、このマテリアルを使って各プリミティブがレンダリングされる。
これでシーンにマテリアルが適用されたので、次のステップはライトを作成することである。これについては、「ステップ 2.2 : ライトの作成」で説明する。