Microsoft DirectX 8.0 (C++) |
IDirect3DDevice8::SetTexture メソッドを呼び出して、カレント テクスチャの一覧内の先頭のテクスチャとしてミップマップ テクスチャを設定する。詳細については、「マルチ テクスチャ ブレンディング」を参照すること。
ミップマップ テクスチャ セットを選択した後、D3DTEXTUREFILTERTYPE 列挙型からの値を D3DTSS_MIPFILTER テクスチャ ステージ ステートに割り当てなければならない。Microsoft® Direct3D® ではミップマップ テクスチャ フィルタリングを自動的に実行する。次のサンプル コードでは、ミップマップ テクスチャ フィルタリングが有効にされている。
d3dDevice->SetTexture(0, pMipMap); d3dDevice->SetTextureStageState(0, D3DTSS_MIPFILTER, D3DTEXF_POINT);
また、IDirect3DTexture8::GetSurfaceLevel メソッドを使用し、取得するミップマップ レベルを指定することで、ミップマップ サーフェスのチェーンを手動でトラバースできる。次の例では、最高解像度から最低解像度までミップマップ チェーンをトラバースする。
IDirect3DSurface8 * pSurfaceLevel; for (int iLevel = 0; iLevel < pMipMap->GetLevelCount(); iLevel++) { pMipMap->GetSurfaceLevel(iLevel, &pSurfaceLevel); //このレベルを処理する。 pSurfaceLevel->Release(); }
チェーンのミップマップ サーフェスの各サーフェスにビットマップ データをロードするために、アプリケーションではミップマップ チェーンを手動でトラバースする必要がある。通常、この理由からチェーンをトラバースする。アプリケーションは、IDirect3DBaseTexture8::GetLevelCount を呼び出して、ミップマップに格納されているレベルの数を取得できる。