Поделиться через


перечисление D3D_SHADER_VARIABLE_TYPE (d3dcommon.h)

Значения, определяющие различные типы данных, текстур и буферов, которые можно назначить переменной шейдера.

Примечание

Для программирования с помощью Direct3D 10 этот API имеет псевдоним типа, который начинается D3D10_ вместо D3D_. Эти псевдонимы типов Direct3D 10 определяются в d3d10.h, d3d10misc.hи d3d10shader.h.

Синтаксис

typedef enum _D3D_SHADER_VARIABLE_TYPE {
  D3D_SVT_VOID = 0,
  D3D_SVT_BOOL = 1,
  D3D_SVT_INT = 2,
  D3D_SVT_FLOAT = 3,
  D3D_SVT_STRING = 4,
  D3D_SVT_TEXTURE = 5,
  D3D_SVT_TEXTURE1D = 6,
  D3D_SVT_TEXTURE2D = 7,
  D3D_SVT_TEXTURE3D = 8,
  D3D_SVT_TEXTURECUBE = 9,
  D3D_SVT_SAMPLER = 10,
  D3D_SVT_SAMPLER1D = 11,
  D3D_SVT_SAMPLER2D = 12,
  D3D_SVT_SAMPLER3D = 13,
  D3D_SVT_SAMPLERCUBE = 14,
  D3D_SVT_PIXELSHADER = 15,
  D3D_SVT_VERTEXSHADER = 16,
  D3D_SVT_PIXELFRAGMENT = 17,
  D3D_SVT_VERTEXFRAGMENT = 18,
  D3D_SVT_UINT = 19,
  D3D_SVT_UINT8 = 20,
  D3D_SVT_GEOMETRYSHADER = 21,
  D3D_SVT_RASTERIZER = 22,
  D3D_SVT_DEPTHSTENCIL = 23,
  D3D_SVT_BLEND = 24,
  D3D_SVT_BUFFER = 25,
  D3D_SVT_CBUFFER = 26,
  D3D_SVT_TBUFFER = 27,
  D3D_SVT_TEXTURE1DARRAY = 28,
  D3D_SVT_TEXTURE2DARRAY = 29,
  D3D_SVT_RENDERTARGETVIEW = 30,
  D3D_SVT_DEPTHSTENCILVIEW = 31,
  D3D_SVT_TEXTURE2DMS = 32,
  D3D_SVT_TEXTURE2DMSARRAY = 33,
  D3D_SVT_TEXTURECUBEARRAY = 34,
  D3D_SVT_HULLSHADER = 35,
  D3D_SVT_DOMAINSHADER = 36,
  D3D_SVT_INTERFACE_POINTER = 37,
  D3D_SVT_COMPUTESHADER = 38,
  D3D_SVT_DOUBLE = 39,
  D3D_SVT_RWTEXTURE1D = 40,
  D3D_SVT_RWTEXTURE1DARRAY = 41,
  D3D_SVT_RWTEXTURE2D = 42,
  D3D_SVT_RWTEXTURE2DARRAY = 43,
  D3D_SVT_RWTEXTURE3D = 44,
  D3D_SVT_RWBUFFER = 45,
  D3D_SVT_BYTEADDRESS_BUFFER = 46,
  D3D_SVT_RWBYTEADDRESS_BUFFER = 47,
  D3D_SVT_STRUCTURED_BUFFER = 48,
  D3D_SVT_RWSTRUCTURED_BUFFER = 49,
  D3D_SVT_APPEND_STRUCTURED_BUFFER = 50,
  D3D_SVT_CONSUME_STRUCTURED_BUFFER = 51,
  D3D_SVT_MIN8FLOAT = 52,
  D3D_SVT_MIN10FLOAT = 53,
  D3D_SVT_MIN16FLOAT = 54,
  D3D_SVT_MIN12INT = 55,
  D3D_SVT_MIN16INT = 56,
  D3D_SVT_MIN16UINT = 57,
  D3D_SVT_INT16,
  D3D_SVT_UINT16,
  D3D_SVT_FLOAT16,
  D3D_SVT_INT64,
  D3D_SVT_UINT64,
  D3D10_SVT_VOID,
  D3D10_SVT_BOOL,
  D3D10_SVT_INT,
  D3D10_SVT_FLOAT,
  D3D10_SVT_STRING,
  D3D10_SVT_TEXTURE,
  D3D10_SVT_TEXTURE1D,
  D3D10_SVT_TEXTURE2D,
  D3D10_SVT_TEXTURE3D,
  D3D10_SVT_TEXTURECUBE,
  D3D10_SVT_SAMPLER,
  D3D10_SVT_SAMPLER1D,
  D3D10_SVT_SAMPLER2D,
  D3D10_SVT_SAMPLER3D,
  D3D10_SVT_SAMPLERCUBE,
  D3D10_SVT_PIXELSHADER,
  D3D10_SVT_VERTEXSHADER,
  D3D10_SVT_PIXELFRAGMENT,
  D3D10_SVT_VERTEXFRAGMENT,
  D3D10_SVT_UINT,
  D3D10_SVT_UINT8,
  D3D10_SVT_GEOMETRYSHADER,
  D3D10_SVT_RASTERIZER,
  D3D10_SVT_DEPTHSTENCIL,
  D3D10_SVT_BLEND,
  D3D10_SVT_BUFFER,
  D3D10_SVT_CBUFFER,
  D3D10_SVT_TBUFFER,
  D3D10_SVT_TEXTURE1DARRAY,
  D3D10_SVT_TEXTURE2DARRAY,
  D3D10_SVT_RENDERTARGETVIEW,
  D3D10_SVT_DEPTHSTENCILVIEW,
  D3D10_SVT_TEXTURE2DMS,
  D3D10_SVT_TEXTURE2DMSARRAY,
  D3D10_SVT_TEXTURECUBEARRAY,
  D3D11_SVT_HULLSHADER,
  D3D11_SVT_DOMAINSHADER,
  D3D11_SVT_INTERFACE_POINTER,
  D3D11_SVT_COMPUTESHADER,
  D3D11_SVT_DOUBLE,
  D3D11_SVT_RWTEXTURE1D,
  D3D11_SVT_RWTEXTURE1DARRAY,
  D3D11_SVT_RWTEXTURE2D,
  D3D11_SVT_RWTEXTURE2DARRAY,
  D3D11_SVT_RWTEXTURE3D,
  D3D11_SVT_RWBUFFER,
  D3D11_SVT_BYTEADDRESS_BUFFER,
  D3D11_SVT_RWBYTEADDRESS_BUFFER,
  D3D11_SVT_STRUCTURED_BUFFER,
  D3D11_SVT_RWSTRUCTURED_BUFFER,
  D3D11_SVT_APPEND_STRUCTURED_BUFFER,
  D3D11_SVT_CONSUME_STRUCTURED_BUFFER,
  D3D_SVT_FORCE_DWORD = 0x7fffffff
} D3D_SHADER_VARIABLE_TYPE;

Константы

 
D3D_SVT_VOID
Значение: 0
Переменная является указателем void.
D3D_SVT_BOOL
Значение: 1
Переменная является логической.
D3D_SVT_INT
Значение: 2
Переменная является целым числом.
D3D_SVT_FLOAT
Значение: 3
Переменная является числом с плавающей запятой.
D3D_SVT_STRING
Значение: 4
Переменная является строкой.
D3D_SVT_TEXTURE
Значение: 5
Переменная является текстурой.
D3D_SVT_TEXTURE1D
Значение: 6
Переменная является 1D-текстурой.
D3D_SVT_TEXTURE2D
Значение: 7
Переменная является двухd текстурой.
D3D_SVT_TEXTURE3D
Значение: 8
Переменная является трехмерной текстурой.
D3D_SVT_TEXTURECUBE
Значение: 9
Переменная является кубом текстуры.
D3D_SVT_SAMPLER
Значение: 10
Переменная является методом выборки.
D3D_SVT_SAMPLER1D
Значение: 11
Переменная представляет собой 1D-средство выборки.
D3D_SVT_SAMPLER2D
Значение: 12
Переменная является двухмерным методом выборки.
D3D_SVT_SAMPLER3D
Значение: 13
Переменная является трехмерной выборкой.
D3D_SVT_SAMPLERCUBE
Значение: 14
Переменная представляет собой средство выборки куба.
D3D_SVT_PIXELSHADER
Значение: 15
Переменная является пиксельным шейдером.
D3D_SVT_VERTEXSHADER
Значение: 16
Переменная является вершинным шейдером.
D3D_SVT_PIXELFRAGMENT
Значение: 17
Переменная является фрагментом пикселя.
D3D_SVT_VERTEXFRAGMENT
Значение: 18
Переменная является фрагментом вершины.
D3D_SVT_UINT
Значение: 19
Переменная является целым числом без знака.
D3D_SVT_UINT8
Значение: 20
Переменная представляет собой 8-разрядное целое число без знака.
D3D_SVT_GEOMETRYSHADER
Значение: 21
Переменная является геометрическим шейдером.
D3D_SVT_RASTERIZER
Значение: 22
Переменная является объектом состояния растеризатора.
D3D_SVT_DEPTHSTENCIL
Значение: 23
Переменная является объектом depth-stencil-state.
D3D_SVT_BLEND
Значение: 24
Переменная является объектом состояния смешения.
D3D_SVT_BUFFER
Значение: 25
Переменная является буфером.
D3D_SVT_CBUFFER
Значение: 26
Переменная является буфером констант.
D3D_SVT_TBUFFER
Значение: 27
Переменная является буфером текстуры.
D3D_SVT_TEXTURE1DARRAY
Значение: 28
Переменная является массивом 1D-текстур.
D3D_SVT_TEXTURE2DARRAY
Значение: 29
Переменная является массивом двухd-текстур.
D3D_SVT_RENDERTARGETVIEW
Значение: 30
Переменная является целевым представлением для отрисовки.
D3D_SVT_DEPTHSTENCILVIEW
Значение: 31
Переменная представляет собой представление трафарета глубины.
D3D_SVT_TEXTURE2DMS
Значение: 32
Переменная представляет собой двухмерную текстуру с несколькими выборками.
D3D_SVT_TEXTURE2DMSARRAY
Значение: 33
Переменная является массивом двухмерных текстур.
D3D_SVT_TEXTURECUBEARRAY
Значение: 34
Переменная является массивом текстуры куба.
D3D_SVT_HULLSHADER
Значение: 35
Переменная содержит скомпилированный двоичный файл шейдера оболочки.
D3D_SVT_DOMAINSHADER
Значение: 36
Переменная содержит скомпилированный двоичный файл шейдера домена.
D3D_SVT_INTERFACE_POINTER
Значение: 37
Переменная является интерфейсом.
D3D_SVT_COMPUTESHADER
Значение: 38
Переменная содержит скомпилированный двоичный файл вычислительного шейдера.
D3D_SVT_DOUBLE
Значение: 39
Переменная представляет собой число с плавающей запятой двойной точности (64 бита).
D3D_SVT_RWTEXTURE1D
Значение: 40
Переменная представляет собой 1D-текстуру для чтения и записи.
D3D_SVT_RWTEXTURE1DARRAY
Значение: 41
Переменная представляет собой массив1D-текстур для чтения и записи.
D3D_SVT_RWTEXTURE2D
Значение: 42
Переменная представляет собой двухуровневую текстуру для чтения и записи.
D3D_SVT_RWTEXTURE2DARRAY
Значение: 43
Переменная представляет собой массив двухd текстур для чтения и записи.
D3D_SVT_RWTEXTURE3D
Значение: 44
Переменная представляет собой трехмерную текстуру для чтения и записи.
D3D_SVT_RWBUFFER
Значение: 45
Переменная является буфером чтения и записи.
D3D_SVT_BYTEADDRESS_BUFFER
Значение: 46
Переменная является буфером байтов.
D3D_SVT_RWBYTEADDRESS_BUFFER
Значение: 47
Переменная является буфером байтов для чтения и записи.
D3D_SVT_STRUCTURED_BUFFER
Значение: 48
Переменная является структурированным буфером.

Дополнительные сведения о структурированных буферах см. в разделе Примечания .
D3D_SVT_RWSTRUCTURED_BUFFER
Значение: 49
Переменная является структурированным буфером для чтения и записи.
D3D_SVT_APPEND_STRUCTURED_BUFFER
Значение: 50
Переменная представляет собой добавочный структурированный буфер.
D3D_SVT_CONSUME_STRUCTURED_BUFFER
Значение: 51
Переменная представляет собой потребляющий структурированный буфер.
D3D_SVT_MIN8FLOAT
Значение: 52
Переменная является 8-байтовой переменной FLOAT.
D3D_SVT_MIN10FLOAT
Значение: 53
Переменная является 10-байтовой переменной FLOAT.
D3D_SVT_MIN16FLOAT
Значение: 54
Переменная является 16-байтовой переменной FLOAT.
D3D_SVT_MIN12INT
Значение: 55
Переменная является 12-байтовой int.
D3D_SVT_MIN16INT
Значение: 56
Переменная является 16-байтовой int.
D3D_SVT_MIN16UINT
Значение: 57
Переменная является 16-байтовой int.
D3D10_SVT_VOID
Переменная является указателем void.
D3D10_SVT_BOOL
Переменная является логической.
D3D10_SVT_INT
Переменная является целым числом.
D3D10_SVT_FLOAT
Переменная является числом с плавающей запятой.
D3D10_SVT_STRING
Переменная является строкой.
D3D10_SVT_TEXTURE
Переменная является текстурой.
D3D10_SVT_TEXTURE1D
Переменная является 1D-текстурой.
D3D10_SVT_TEXTURE2D
Переменная является двухd текстурой.
D3D10_SVT_TEXTURE3D
Переменная является трехмерной текстурой.
D3D10_SVT_TEXTURECUBE
Переменная является кубом текстуры.
D3D10_SVT_SAMPLER
Переменная является методом выборки.
D3D10_SVT_SAMPLER1D
Переменная представляет собой 1D-средство выборки.
D3D10_SVT_SAMPLER2D
Переменная является двухмерным методом выборки.
D3D10_SVT_SAMPLER3D
Переменная является трехмерной выборкой.
D3D10_SVT_SAMPLERCUBE
Переменная представляет собой средство выборки куба.
D3D10_SVT_PIXELSHADER
Переменная является пиксельным шейдером.
D3D10_SVT_VERTEXSHADER
Переменная является вершинным шейдером.
D3D10_SVT_PIXELFRAGMENT
Переменная является фрагментом пикселя.
D3D10_SVT_VERTEXFRAGMENT
Переменная является фрагментом вершины.
D3D10_SVT_UINT
Переменная является целым числом без знака.
D3D10_SVT_UINT8
Переменная представляет собой 8-разрядное целое число без знака.
D3D10_SVT_GEOMETRYSHADER
Переменная является геометрическим шейдером.
D3D10_SVT_RASTERIZER
Переменная является объектом состояния растеризатора.
D3D10_SVT_DEPTHSTENCIL
Переменная является объектом depth-stencil-state.
D3D10_SVT_BLEND
Переменная является объектом состояния смешения.
D3D10_SVT_BUFFER
Переменная является буфером.
D3D10_SVT_CBUFFER
Переменная является буфером констант.
D3D10_SVT_TBUFFER
Переменная является буфером текстуры.
D3D10_SVT_TEXTURE1DARRAY
Переменная является массивом 1D-текстур.
D3D10_SVT_TEXTURE2DARRAY
Переменная является массивом двухd-текстур.
D3D10_SVT_RENDERTARGETVIEW
Переменная является целевым представлением для отрисовки.
D3D10_SVT_DEPTHSTENCILVIEW
Переменная представляет собой представление трафарета глубины.
D3D10_SVT_TEXTURE2DMS
Переменная представляет собой двухмерную текстуру с несколькими выборками.
D3D10_SVT_TEXTURE2DMSARRAY
Переменная является массивом двухмерных текстур.
D3D10_SVT_TEXTURECUBEARRAY
Переменная является массивом текстуры куба.
D3D11_SVT_HULLSHADER
Переменная содержит скомпилированный двоичный файл шейдера оболочки.
D3D11_SVT_DOMAINSHADER
Переменная содержит скомпилированный двоичный файл шейдера домена.
D3D11_SVT_INTERFACE_POINTER
Переменная является интерфейсом.
D3D11_SVT_COMPUTESHADER
Переменная содержит скомпилированный двоичный файл вычислительного шейдера.
D3D11_SVT_DOUBLE
Переменная представляет собой число с плавающей запятой двойной точности (64 бита).
D3D11_SVT_RWTEXTURE1D
Переменная представляет собой 1D-текстуру для чтения и записи.
D3D11_SVT_RWTEXTURE1DARRAY
Переменная представляет собой массив1D-текстур для чтения и записи.
D3D11_SVT_RWTEXTURE2D
Переменная представляет собой двухуровневую текстуру для чтения и записи.
D3D11_SVT_RWTEXTURE2DARRAY
Переменная представляет собой массив двухd текстур для чтения и записи.
D3D11_SVT_RWTEXTURE3D
Переменная представляет собой трехмерную текстуру для чтения и записи.
D3D11_SVT_RWBUFFER
Переменная является буфером чтения и записи.
D3D11_SVT_BYTEADDRESS_BUFFER
Переменная является буфером байтов.
D3D11_SVT_RWBYTEADDRESS_BUFFER
Переменная представляет собой буфер байтов для чтения и записи.
D3D11_SVT_STRUCTURED_BUFFER
Переменная является структурированным буфером.
D3D11_SVT_RWSTRUCTURED_BUFFER
Переменная является структурированным буфером для чтения и записи.
D3D11_SVT_APPEND_STRUCTURED_BUFFER
Переменная представляет собой добавочный структурированный буфер.
D3D11_SVT_CONSUME_STRUCTURED_BUFFER
Переменная представляет собой потребляющий структурированный буфер.
D3D_SVT_FORCE_DWORD
Значение: 0x7fffffff
Это значение не используется программистом; он существует для принудительной компиляции перечисления до 32 бит.

Комментарии

Вызов метода ID3D11ShaderReflectionType::GetDesc возвращает значение D3D_SHADER_VARIABLE_TYPE в элементе Type структуры D3D11_SHADER_TYPE_DESC .

Типы в структурированном буфере описывают структуру элементов в буфере. Макет этих типов обычно соответствует их аналогам структуры C++. В следующих примерах показаны структурированные буферы:

struct mystruct {float4 val; uint ind;}; RWStructuredBuffer<mystruct> rwbuf;
                                         RWStructuredBuffer<float3> rwbuf2;

Требования

Требование Значение
Заголовок d3dcommon.h

См. также раздел

Перечисления общих версий