Platform SDK: DirectX

テクスチャ パースペクティブ ステート

[C++]

アプリケーションでは、パースペクティブ補正をテクスチャに適用することで、ビューアから遠ざかるにつれてサイズが小さくなるプリミティブにテクスチャを正しく適用できる。「D3DRENDERSTATE_TEXTUREPERSPECTIVE」を参照すること。

次のコードは、テクスチャ パースペクティブ補正を有効にする処理を示す。

// このコードでは、lpD3DDevice は IDirect3DDevice7 インターフェイスへの
// 有効なポインタであるとする。
 
// テクスチャ パースペクティブを有効にする。
lpD3DDevice7->SetRenderState(D3DRENDERSTATE_TEXTUREPERSPECTIVE, 
                             TRUE);

IDirect3DDevice3 およびIDirect3DDevice7 インターフェイスでは、デフォルト値が TRUE になり、パースペクティブ補正テクスチャ マッピングが有効になる。旧インターフェイスの場合、デフォルト値は FALSE である。多くの 3D アダプタは、テクスチャ パースペクティブ補正を無条件に適用するので注意が必要である。w ベース フォグおよび w バッファを使用するには、パースペクティブ補正を有効にする必要がある。詳細については、「フォグ」セクションの「視点からの相対深度 対 Z ベースの深度」および「深度バッファ」セクションの「深度バッファリングの有効化」を参照すること。

[Visual Basic]

アプリケーションでは、パースペクティブ補正をテクスチャに適用することで、ビューアから遠ざかるにつれてサイズが小さくなるプリミティブにテクスチャを正しく適用できる。「D3DRENDERSTATE_TEXTUREPERSPECTIVE」を参照すること。

次のコードは、テクスチャ パースペクティブ補正を有効にする処理を示す。

' このコードでは、d3dD3DDevice は Direct3DDevice7 オブジェクトへの
' 有効な参照であるとする。
 
' テクスチャ パースペクティブを有効にする。
Call d3dDevice7.SetRenderState(D3DRENDERSTATE_TEXTUREPERSPECTIVE, _ 
                               True)

デフォルト値は True で、パースペクティブ補正テクスチャ マッピングが有効になる。

多くの 3D アダプタは、テクスチャ パースペクティブ補正を無条件に適用するので注意が必要である。w ベース フォグおよび w バッファを使用するには、パースペクティブ補正を有効にする必要がある。詳細については、「フォグ」セクションの「視点からの相対深度 対 Z ベースの深度」および「深度バッファ」セクションの「深度バッファリングの有効化」を参照すること。