Тип текстуры
Используйте следующий синтаксис для объявления переменной текстуры.
Имя типа; |
Параметры
Элемент | Описание |
---|---|
Тип |
Один из следующих типов: текстура (нетипизированный, для обратной совместимости), Texture1D, Texture1DArray, Texture2D, Texture2DArray, Texture3D, TextureCube. Размер элемента должен соответствовать 4 32-разрядным значениям. |
Имя |
Строка ASCII, однозначно идентифицирующая имя переменной. |
Комментарии
Существует три части использования текстуры.
Объявление переменной текстуры. Это делается с помощью синтаксиса, показанного выше. Например, это допустимые объявления.
texture g_MeshTexture;
— или —
Texture2D g_MeshTexture;
Объявление и инициализация объекта sampler. Это делается с немного другим синтаксисом в 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;