IDirect3DDevice9::SetTexture 方法 (d3d9helper.h)
將紋理指派給裝置的階段。
語法
HRESULT SetTexture(
[in] DWORD Stage,
[in] IDirect3DBaseTexture9 *pTexture
);
參數
[in] Stage
類型: DWORD
以零為起始的取樣器編號。 紋理會系結至取樣器;取樣器會定義取樣狀態,例如篩選模式和地址包裝模式。 可程式化和固定函式管線會以不同的方式參考紋理:
- 可程式化著色器會使用取樣器編號參考紋理。 可程式化著色器可用的取樣器數目取決於著色器版本。 如需頂點著色器,請參閱 Sampler (Direct3D 9 asm-vs) 。 如需圖元著色器,請參閱 Sampler (Direct3D 9 asm-ps) 。
- 另一方面,固定函式管線會依紋理階段編號來參考紋理。 取樣器的數目上限取決於兩個上限:maxSimultaneousTextures 和 D3DCAPS9 結構的 MaxTextureBlendStages。
- 稱為D3DDMAPSAMPLER的特殊數位用於 位移對應 (Direct3D 9) 。
- 可程式化頂點著色器會在存取 DirectX HLSL) vs_3_0 (中的頂點紋理時,使用D3DVERTEXTEXTURESAMPLER所定義的特殊數位。
[in] pTexture
IDirect3DBaseTexture9 介面的指標,代表所設定的紋理。
傳回值
類型: HRESULT
如果方法成功,傳回值會D3D_OK。 如果方法失敗,則可以D3DERR_INVALIDCALL傳回值。
備註
如果紋理是以集區類型的D3DPOOL_SCRATCH建立,則不允許 SetTexture。 除非使用 D3DDEVCAPS_TEXTURESYSTEMMEMORY 設定DevCaps,否則不允許使用集區類型的D3DPOOL_SYSTEMMEM紋理 SetTexture。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | d3d9helper.h (包含 D3D9.h) |
程式庫 | D3D9.lib |