D3D_SHADER_VARIABLE_TYPE列舉 (d3dcommon.h)
識別可指派給著色器變數之各種數據、紋理和緩衝區類型的值。
注意
針對使用 Direct3D 10 進行程式設計,此 API 有一個類型別名,其開頭 D3D10_
為,而不是 D3D_
。 這些 Direct3D 10 類型別名定義於 d3d10.h
、 d3d10misc.h
和 d3d10shader.h
中。
Syntax
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 變數是 2D 紋理。 |
D3D_SVT_TEXTURE3D 值: 8 變數是 3D 紋理。 |
D3D_SVT_TEXTURECUBE 值: 9 變數是紋理立方體。 |
D3D_SVT_SAMPLER 值: 10 變數是取樣器。 |
D3D_SVT_SAMPLER1D 值: 11 變數是 1D 取樣器。 |
D3D_SVT_SAMPLER2D 值: 12 變數是 2D 取樣器。 |
D3D_SVT_SAMPLER3D 值: 13 變數是 3D 取樣器。 |
D3D_SVT_SAMPLERCUBE 值: 14 變數是 Cube 取樣器。 |
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 變數是深度樣板狀態物件。 |
D3D_SVT_BLEND 值: 24 變數是 blend-state 物件。 |
D3D_SVT_BUFFER 值: 25 變數是緩衝區。 |
D3D_SVT_CBUFFER 值: 26 變數是常數緩衝區。 |
D3D_SVT_TBUFFER 值: 27 變數是紋理緩衝區。 |
D3D_SVT_TEXTURE1DARRAY 值: 28 變數是 1D 紋理陣列。 |
D3D_SVT_TEXTURE2DARRAY 值: 29 變數是 2D 紋理陣列。 |
D3D_SVT_RENDERTARGETVIEW 值: 30 變數是轉譯目標檢視。 |
D3D_SVT_DEPTHSTENCILVIEW 值: 31 變數是深度樣板檢視。 |
D3D_SVT_TEXTURE2DMS 值: 32 變數是 2D 多重取樣紋理。 |
D3D_SVT_TEXTURE2DMSARRAY 值: 33 變數是 2D 多重取樣紋理陣列。 |
D3D_SVT_TEXTURECUBEARRAY 值: 34 變數是紋理 Cube 陣列。 |
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 變數是 2D 讀寫紋理。 |
D3D_SVT_RWTEXTURE2DARRAY 值: 43 變數是 2D 讀寫紋理的陣列。 |
D3D_SVT_RWTEXTURE3D 值: 44 變數是 3D 讀寫紋理。 |
D3D_SVT_RWBUFFER 值: 45 變數是讀寫緩衝區。 |
D3D_SVT_BYTEADDRESS_BUFFER 值: 46 變數是位元組位址緩衝區。 |
D3D_SVT_RWBYTEADDRESS_BUFFER 值: 47 變數是讀寫位元組位址緩衝區。 |
D3D_SVT_STRUCTURED_BUFFER 值: 48 變數是結構化緩衝區。 For more information about structured buffer, see the Remarks section. |
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 變數是 2D 紋理。 |
D3D10_SVT_TEXTURE3D 變數是 3D 紋理。 |
D3D10_SVT_TEXTURECUBE 變數是紋理立方體。 |
D3D10_SVT_SAMPLER 變數是取樣器。 |
D3D10_SVT_SAMPLER1D 變數是 1D 取樣器。 |
D3D10_SVT_SAMPLER2D 變數是 2D 取樣器。 |
D3D10_SVT_SAMPLER3D 變數是 3D 取樣器。 |
D3D10_SVT_SAMPLERCUBE 變數是 Cube 取樣器。 |
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 變數是深度樣板狀態物件。 |
D3D10_SVT_BLEND 變數是 blend-state 物件。 |
D3D10_SVT_BUFFER 變數是緩衝區。 |
D3D10_SVT_CBUFFER 變數是常數緩衝區。 |
D3D10_SVT_TBUFFER 變數是紋理緩衝區。 |
D3D10_SVT_TEXTURE1DARRAY 變數是 1D 紋理陣列。 |
D3D10_SVT_TEXTURE2DARRAY 變數是 2D 紋理陣列。 |
D3D10_SVT_RENDERTARGETVIEW 變數是轉譯目標檢視。 |
D3D10_SVT_DEPTHSTENCILVIEW 變數是深度樣板檢視。 |
D3D10_SVT_TEXTURE2DMS 變數是 2D 多重取樣紋理。 |
D3D10_SVT_TEXTURE2DMSARRAY 變數是 2D 多重取樣紋理陣列。 |
D3D10_SVT_TEXTURECUBEARRAY 變數是紋理 Cube 陣列。 |
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 變數是 2D 讀寫紋理。 |
D3D11_SVT_RWTEXTURE2DARRAY 變數是 2D 讀寫紋理的陣列。 |
D3D11_SVT_RWTEXTURE3D 變數是 3D 讀寫紋理。 |
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 方法的呼叫會傳回D3D11_SHADER_TYPE_DESC結構的 Type 成員中的D3D_SHADER_VARIABLE_TYPE值。
結構化緩衝區中的類型描述緩衝區中元素的結構。 這些類型的版面配置通常會符合其 C++ 結構對應專案。 下列範例顯示結構化緩衝區:
struct mystruct {float4 val; uint ind;}; RWStructuredBuffer<mystruct> rwbuf;
RWStructuredBuffer<float3> rwbuf2;
規格需求
需求 | 值 |
---|---|
標頭 | d3dcommon.h |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應