共用方式為


D3D12_SHADER_COMPONENT_MAPPING列舉 (d3d12.h)

指定著色器資源檢視 (SRV) 路由傳送記憶體的方式。

Syntax

typedef enum D3D12_SHADER_COMPONENT_MAPPING {
  D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0 = 0,
  D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1 = 1,
  D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2 = 2,
  D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3 = 3,
  D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0 = 4,
  D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1 = 5
} ;

常數

 
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0
值: 0
表示傳回元件 0 (紅色) 。
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1
值: 1
表示傳回元件 1 (綠色) 。
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2
值: 2
表示傳回元件 2 (藍色) 。
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3
值: 3
表示傳回元件 3 (Alpha) 。
D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0
值: 4
表示將產生的值強制為 0。
D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1
值: 5
表示強制產生的值 1。 強制 1 的值取決於來源格式中該元件的格式類型,0x1或 1.0f。

備註

此列舉可讓SRV在記憶體擷取之後,選取記憶體如何路由傳送至著色器中的四個傳回元件。 每個著色器元件 [0..3] (對應至 RGBA) 的選項為:SRV 擷取結果中的元件 0..3 或強制 0 或強制 1。

您可以藉由指定 D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING來表示預設的 1:1 對應,否則可以使用宏 D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING來指定任意對應。

請參閱下文。

請注意下列定義。

#define D3D12_SHADER_COMPONENT_MAPPING_MASK 0x7
#define D3D12_SHADER_COMPONENT_MAPPING_SHIFT 3
#define D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES \
    (1<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*4))
#define D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(Src0,Src1,Src2,Src3) \
    ((((Src0)&D3D12_SHADER_COMPONENT_MAPPING_MASK)| \
    (((Src1)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<D3D12_SHADER_COMPONENT_MAPPING_SHIFT)| \
    (((Src2)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*2))| \
    (((Src3)&D3D12_SHADER_COMPONENT_MAPPING_MASK)<<(D3D12_SHADER_COMPONENT_MAPPING_SHIFT*3))| \
    D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES))
#define D3D12_DECODE_SHADER_4_COMPONENT_MAPPING(ComponentToExtract,Mapping) \
    ((D3D12_SHADER_COMPONENT_MAPPING)(Mapping >> (D3D12_SHADER_COMPONENT_MAPPING_SHIFT*ComponentToExtract) & D3D12_SHADER_COMPONENT_MAPPING_MASK))
#define D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(0,1,2,3)

規格需求

需求
標頭 d3d12.h

另請參閱

核心列舉