共用方式為


D3D_SHADER_VARIABLE_TYPE列舉 (d3dcommon.h)

識別可指派給著色器變數之各種數據、紋理和緩衝區類型的值。

注意

針對使用 Direct3D 10 進行程式設計,此 API 有一個類型別名,其開頭 D3D10_ 為,而不是 D3D_。 這些 Direct3D 10 類型別名定義於 d3d10.hd3d10misc.hd3d10shader.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

另請參閱

一般版本列舉