Microsoft DirectX 8.0 (Visual Basic)

ミップマップの選択と表示

Direct3DDevice8.SetTexture メソッドを呼び出して、カレント テクスチャの一覧内の先頭のテクスチャとしてミップマップ テクスチャを設定する。詳細については、「マルチ テクスチャ ブレンディング」を参照すること。

ミップマップ テクスチャ セットを選択した後、CONST_D3DTEXTUREFILTERTYPE 列挙型からの値を D3DTSS_MIPFILTER テクスチャ ステージ ステートに割り当てなければならない。Microsoft® Direct3D® ではミップマップ テクスチャ フィルタリングを自動的に実行する。次のサンプル コードでは、ミップマップ テクスチャ フィルタリングが有効にされている。

m_D3D.SetTexture(0, DDMipMap)
m_D3D.SetTextureStateState(0, D3DTSS_MIPFILTER, D3DTEXF_POINT)

また、Direct3DTexture8.GetSurfaceLevel メソッドを使用し、取得するミップマップ レベルを指定することで、ミップマップ サーフェスのチェーンを手動でトラバースできる。次の例では、最高解像度から最低解像度までミップマップ チェーンをトラバースする。

Dim DDLevel As Direct3DSurface8
Dim cLevels As Long

cLevels = DDMipMap.GetLevelCount

For iLevel = 0 to cLevels
    Set DDLevel = DDMipMap.GetSurfaceLevel(iLevel)

    'このレベルを処理する。

    Set DDLevel = Nothing
Next

チェーンの各サーフェスにビットマップ データをロードするために、アプリケーションではミップマップ チェーンを手動でトラバースする必要がある。通常、この理由からチェーンをトラバースする。アプリケーションは、Direct3DBaseTexture8.GetLevelCount を呼び出して、ミップマップ テクスチャに格納されているレベルの数を取得できる。