IDirect3DDevice9::SetTexture 方法 (d3d9helper.h)
将纹理分配给设备的阶段。
语法
HRESULT SetTexture(
[in] DWORD Stage,
[in] IDirect3DBaseTexture9 *pTexture
);
参数
[in] Stage
类型: DWORD
从零开始的采样器编号。 纹理绑定到采样器;采样器定义采样状态,例如筛选模式和地址包装模式。 可编程和固定函数管道以不同的方式引用纹理:
- 可编程着色器使用采样器编号引用纹理。 可编程着色器可用的采样器数取决于着色器版本。 有关顶点着色器,请参阅 取样器 (Direct3D 9 asm-vs) 。 有关像素着色器 ,请参阅取样器 (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 |
标头 | d3d9helper.h (包括 D3D9.h) |
Library | D3D9.lib |