Microsoft DirectX 8.0 (C++) |
Microsoft® Direct3D® では、一度に 1 つのシェーディング モードしか選択できない。デフォルトでは、グーロー シェーディングが選択されている。C++ では、IDirect3DDevice8::SetRenderState メソッドを呼び出してシェーディング モードを変更できる。State パラメータを D3DRS_SHADEMODE に設定する。State パラメータには D3DSHADEMODE 列挙のメンバを設定する必要がある。次のサンプル コードは、Direct3D アプリケーションの現在のシェーディング モードを、フラット シェーディング モードまたはグーロー シェーディング モードに設定する方法を示している。
// フラット シェーディングに設定する。 // このコードでは、pDev が IDirect3DDevice8 インターフェイスへの // 有効なポインタであるとする。 hr = pDev->SetRenderState(D3DRS_SHADEMODE, D3DSHADE_FLAT); if(FAILED(hr)) { // エラー処理コード。 } // グーロー シェーディングに設定する。これが Direct3D のデフォルト値である。 hr = pDev->SetRenderState(D3DRS_SHADEMODE, D3DSHADE_GOURAUD); if(FAILED(hr)) { // エラー処理コード。 }