Platform SDK: DirectX |
C++ アプリケーションの場合、テクスチャ ラッピングを有効にする処理は、Direct3D デバイス インターフェイスのバージョンによって異なる。アプリケーションで IDirect3DDevice7 インターフェイスを使用する場合は、頂点で使用されるテクスチャ座標セットに対してテクスチャ ラッピングを有効にし、テクスチャ ステージ ステート自体に対して有効にするわけではない。この場合、IDirect3DDevic7::SetRenderState メソッドを呼び出し、第 1 パラメータとして D3DRENDERSTATE_WRAP0 〜 D3DRENDERSTATE_WRAP7 の列挙値のいずれかを渡して、ラッピングの適用先テクスチャ座標セットを指定する。第 2 パラメータに D3DWRAPCOORD_0 〜 D3DWRAPCOORD_3 フラグを指定して、対応する方向のテクスチャ ラッピングを有効にするか、これらのフラグを組み合わせて複数の方向のラッピングを有効にする。フラグを省略すると、対応する方向でのテクスチャ ラッピングが無効になる。テクスチャ座標の特定のセットに対してテクスチャ ラッピングを無効にするには、対応するレンダリング ステートの値を 0 に設定する。
アプリケーションで従来の IDirect3DDevice2 インターフェイスを使用する場合でも、SetRenderState メソッドを呼び出してテクスチャ ラッピングを有効にできる。しかし、このインターフェイスでは、D3DRENDERSTATE_WRAP0 〜 D3DRENDERSTATE_WRAP7 はサポートされていない。これらの代わりとして、D3DRENDERSTATE_WRAPU または D3DRENDERSTATE_WRAPV 値を第 1 パラメータに使用する。第 2 パラメータで TRUE を指定するとラッピングが有効になり、FALSE を指定するとラッピングが無効になる。
注 : IDirect3DDevice7 インターフェイスは、D3DRENDERSTATE_WRAP0 〜 D3DRENDERSTATE_WRAP7 に置き換えられた従来の D3DRENDERSTATE_WRAPU および D3DRENDERSTATE_WRAPV レンダリング ステートも認識する。これらの旧レンダリング ステートを SetRenderState の IDirect3DDevice7 バージョンに渡すと、テクスチャ座標の最初のセットの u および v テクスチャ ラッピングに影響する。
Visual Basic の場合、頂点で使用されるテクスチャ座標セットに対して、テクスチャ ラッピングを有効にする。Direct3DDevice7.SetRenderState メソッドを呼び出してテクスチャ ラッピングを有効にし、第 1 パラメータとして D3DRENDERSTATE_WRAP0 〜 D3DRENDERSTATE_WRAP7 列挙値のいずれかを渡して、ラッピングの適用先テクスチャ座標セットを指定する。第 2 パラメータには D3DWRAPCOORD_0 〜 D3DWRAPCOORD_3 フラグ (CONST_D3D 列挙から) を使用して、対応する方向のテクスチャ ラッピングを有効にするか、これらのフラグを組み合わせて複数の方向のラッピングを有効にする。フラグを省略すると、対応する方向でのテクスチャ ラッピングが無効になる。テクスチャ座標の特定のセットに対してテクスチャ ラッピングを無効にするには、対応するレンダリング ステートの値を 0 に設定する。