紋理類型
使用下列語法來宣告紋理變數。
類型名稱; |
參數
項目 | 描述 |
---|---|
類型 |
下列其中一種類型:紋理 (不具類型,適用于回溯相容性) 、Texture1D、Texture1DArray、Texture2D、Texture2D、Texture2D、Texture3D、TextureCube。 元素大小必須符合 4 32 位的數量。 |
名字 |
可唯一識別變數名稱的 ASCII 字串。 |
備註
使用紋理有三個部分。
宣告紋理變數。 這是使用上面所示的語法來完成。 例如,這些是有效的宣告。
texture g_MeshTexture;
- 或 -
Texture2D g_MeshTexture;
宣告和初始化取樣器物件。 這在 Direct3D 9 和 Direct3D 10 中使用稍微不同的語法來完成。 如需 sampler 物件語法的詳細資訊,請參閱 Sampler Type (DirectX HLSL) 。
叫用著色器中的紋理函式。
Direct3D 9 與 Direct3D 10 之間的差異:
Direct3D 9 會使用 內部紋理函式來執行紋理 作業。 此範例來自BasicHLSL 範例,並使用 tex2D (s,t) (DirectX HLSL) 來執行紋理取樣。
Output.RGBColor = tex2D(MeshTextureSampler, In.TextureUV) * In.Diffuse;
Direct3D 10 會改用 樣板化紋理物件 。 以下是對等紋理作業的範例。
Output.RGBColor = g_MeshTexture.Sample(MeshTextureSampler, In.TextureUV) * In.Diffuse;