IDirect3DDevice9::SetTexture 方法 (d3d9.h)

将纹理分配给设备的阶段。

语法

HRESULT SetTexture(
  [in] DWORD                 Stage,
  [in] IDirect3DBaseTexture9 *pTexture
);

参数

[in] Stage

类型: DWORD

从零开始的采样器编号。 纹理绑定到采样器;采样器定义采样状态,例如筛选模式和地址包装模式。 可编程和固定函数管道以不同的方式引用纹理:

  • 可编程着色器使用采样器编号引用纹理。 可编程着色器可用的采样器数取决于着色器版本。 有关顶点着色器,请参阅 Sampler (Direct3D 9 asm-vs) 。 有关像素着色器 ,请参阅 Sampler (Direct3D 9 asm-ps)
  • 另一方面,固定函数管道按纹理阶段编号引用纹理。 采样器的最大数目取决于两个上限: D3DCAPS9 结构的 MaxSimultaneousTextures 和 MaxTextureBlendStages。
阶段/采样器编号有另外两种特殊情况。

[in] pTexture

类型: IDirect3DBaseTexture9*

指向 IDirect3DBaseTexture9 接口的指针,表示要设置的纹理。

返回值

类型: HRESULT

如果方法成功,则返回值D3D_OK。 如果 方法失败,则可以D3DERR_INVALIDCALL返回值。

注解

如果纹理是使用池类型D3DPOOL_SCRATCH创建的,则不允许使用 SetTexture。 除非使用 D3DDEVCAPS_TEXTURESYSTEMMEMORY 设置 DevCaps,否则不允许使用 D3DPOOL_SYSTEMMEM 纹理池类型的 SetTexture

要求

要求
目标平台 Windows
标头 d3d9.h (包括 D3D9.h)
Library D3D9.lib

另请参阅

GetTexture

GetTextureStageState

IDirect3DDevice9

SetTextureStageState