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。
- 一个名为 D3DDMAPSAMPLER 的特殊数字用于 位移映射 (Direct3D 9) 。
- 在 vs_3_0 (DirectX HLSL) 中访问顶点纹理时,可编程顶点 着色器使用由D3DVERTEXTEXTURESAMPLER定义的特殊数字。
[in] pTexture
指向 IDirect3DBaseTexture9 接口的指针,表示要设置的纹理。
返回值
类型: HRESULT
如果方法成功,则返回值D3D_OK。 如果 方法失败,则可以D3DERR_INVALIDCALL返回值。
注解
如果纹理是使用池类型D3DPOOL_SCRATCH创建的,则不允许使用 SetTexture。 除非使用 D3DDEVCAPS_TEXTURESYSTEMMEMORY 设置 DevCaps,否则不允许使用 D3DPOOL_SYSTEMMEM 纹理池类型的 SetTexture。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | d3d9.h (包括 D3D9.h) |
Library | D3D9.lib |