Microsoft DirectX 8.0 (C++) |
Microsoft® Direct3D® デバイスが D3DTOP_BUMPENVMAP または D3DTOP_BUMPENVMAPLUMINANCE のいずれかのテクスチャ ブレンディング処理をサポートしている場合、そのデバイスではバンプ マッピングを実行できる。また、アプリケーションではデバイス能力を調べることで、そのアプリケーションで適切なブレンディング ステージ数 (通常は 3 つ以上) がサポートされ、少なくとも 1 つのバンプ マッピング ピクセル フォーマットが公開されていることを確認する必要がある。
次のコードは、指定された条件によってデバイス機能を調べて、現在のデバイスでのバンプ マッピングのサポートを検出する。
BOOL SupportsBumpMapping() { D3DCAPS8 d3dCaps; d3dDevice->GetDeviceCaps( &d3dCaps ); // このデバイスが 2 つのバンプ マッピング ブレンド処理をサポートしているかどうか。 if ( 0 == d3dCaps.TextureOpCaps & ( D3DTEXOPCAPS_BUMPENVMAP | D3DTEXOPCAPS_BUMPENVMAPLUMINANCE )) return FALSE; // このデバイスが最大 3 つのブレンディング ステージをサポートしているかどうか。 if( d3dCaps.MaxTextureBlendStages < 3 ) return FALSE; }