перечисление 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 |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по