次の方法で共有


IDirect3DDevice9::SetTexture

テクスチャーをデバイスのステージに割り当てます。

HRESULT 
SetTexture(
  DWORD Sampler,
  IDirect3DBaseTexture9 * pTexture
);

パラメータ

Sampler

  • 0 から始まるサンプラー番号。テクスチャーはサンプラーにバインドされます。サンプラーによって、フィルタリング モードやアドレス ラップ モードなどのサンプリング ステートが定義されます。テクスチャーは、固定機能パイプラインとプログラム可能なパイプラインにより次のように異なって参照されます。
  • プログラム可能なシェーダーでは、サンプラ番号を使用してテクスチャーを参照します。プログラム可能なシェーダーで利用できるサンプラの数は、シェーダーのバージョンにより異なります。頂点シェーダーについては、「サンプラー (Direct3D 9 asm-vs)」を参照してください。ピクセル シェーダーについては、「サンプラー (Direct3D 9 asm-ps)」を参照してください。
  • これに対して、固定機能パイプラインはテクスチャーをテクスチャー ステージ番号により参照します。サンプラーの最大数は、D3DCAPS9 構造体の 2 つのキャップ、MaxSimultaneousTextures と MaxTextureBlendStages により決定されます。
    ステージとサンプラー番号については、2 つの特殊な場合があります。
  • D3DDMAPSAMPLER と呼ばれる特殊な番号は、ディスプレイスメント マッピング (Direct3D 9) で使用されます。
  • プログラム可能な頂点シェーダーは、vs_3_0 の頂点テクスチャー (DirectX HLSL) にアクセスするときに、D3DVERTEXTEXTURESAMPLER で定義される特殊な番号を使用します。

pTexture

  • 設定するテクスチャーを表す IDirect3DBaseTexture9 インターフェイスへのポインター

戻り値

メソッドが成功した場合は、D3D_OK を返します。失敗した場合は、D3DERR_INVALIDCALL を返します。

解説 

テクスチャーがプール タイプの D3DPOOL_SCRATCH を使用して作成された場合、IDirect3DDevice9::SetTexture は許可されません。DevCaps が D3DDEVCAPS_TEXTURESYSTEMMEMORY を使用して設定されていない限り、プール タイプの D3DPOOL_SYSTEMMEM では IDirect3DDevice9::SetTexture は許可されません。

要件

ヘッダー: D3D9.h 宣言

関連項目

IDirect3DDevice9::GetTexture, IDirect3DDevice9::GetTextureStageState, IDirect3DDevice9::SetTextureStageState