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) 。
- 可程式化的頂點著色器會在存取 DirectX HLSL) vs_3_0 (中的頂點紋理時,使用由 D3DVERTEXTEXTURESAMPLER 定義的特殊數位。
[in] pTexture
IDirect3DBaseTexture9 介面的指標,代表所設定的紋理。
傳回值
類型: HRESULT
如果方法成功,傳回值會D3D_OK。 如果方法失敗,則傳回值可以D3DERR_INVALIDCALL。
備註
如果紋理是以集區類型的D3DPOOL_SCRATCH建立,則不允許 SetTexture。 除非 DevCaps 是以 D3DDEVCAPS_TEXTURESYSTEMMEMORY 設定,否則不允許使用集區類型的D3DPOOL_SYSTEMMEM紋理 SetTexture。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | d3d9.h (包含 D3D9.h) |
程式庫 | D3D9.lib |