ホーム › Graphics.Direct3D12 › D3D12_SHADER_COMPONENT_MAPPING
D3D12_SHADER_COMPONENT_MAPPING
列挙型メンバー 6
| 名前 | 10進 | 16進 | 説明 |
|---|---|---|---|
| D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0 | 0 | 0x0 | 戻り値のコンポーネント 0 (赤) を示します。 |
| D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1 | 1 | 0x1 | 戻り値のコンポーネント 1 (緑) を示します。 |
| D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2 | 2 | 0x2 | 戻り値のコンポーネント 2 (青) を示します。 |
| D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3 | 3 | 0x3 | 戻り値のコンポーネント 3 (アルファ) を示します。 |
| D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0 | 4 | 0x4 | 結果の値を強制的に 0 にすることを示します。 |
| D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1 | 5 | 0x5 | 結果の値を強制的に 1 にすることを示します。強制される 1 の値は、ソース形式におけるそのコンポーネントの形式の種類に応じて 0x1 または 1.0f のいずれかになります。 |
公式ドキュメント
シェーダーリソースビュー (SRV) によってメモリがどのようにルーティングされるかを指定します。
解説(Remarks)
この列挙型により、SRV はメモリフェッチ後にシェーダー内の 4 つの戻り値コンポーネントへメモリをどのようにルーティングするかを選択できます。各シェーダーコンポーネント [0..3] (RGBA に対応) に対する選択肢は、SRV のフェッチ結果のコンポーネント 0..3、強制的に 0、または強制的に 1 です。
既定の 1:1 マッピングは D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING を指定することで示せます。それ以外の任意のマッピングは、マクロ 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)
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
各言語での定義
列挙メンバーの定義。HSP タブは #define global(値は16進)。
typedef enum D3D12_SHADER_COMPONENT_MAPPING : int {
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;public enum D3D12_SHADER_COMPONENT_MAPPING : int
{
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,
}Public Enum D3D12_SHADER_COMPONENT_MAPPING As Integer
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
End Enumimport enum
class D3D12_SHADER_COMPONENT_MAPPING(enum.IntEnum):
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
pub const D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0: i32 = 0;
pub const D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1: i32 = 1;
pub const D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2: i32 = 2;
pub const D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3: i32 = 3;
pub const D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0: i32 = 4;
pub const D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1: i32 = 5;// D3D12_SHADER_COMPONENT_MAPPING
const (
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0 int32 = 0
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1 int32 = 1
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2 int32 = 2
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3 int32 = 3
D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0 int32 = 4
D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1 int32 = 5
)const
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
pub const D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0: i32 = 0;
pub const D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1: i32 = 1;
pub const D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2: i32 = 2;
pub const D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3: i32 = 3;
pub const D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0: i32 = 4;
pub const D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1: i32 = 5;const
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* = 5enum D3D12_SHADER_COMPONENT_MAPPING : int {
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,
}#define global D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0 0x0
#define global D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1 0x1
#define global D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2 0x2
#define global D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3 0x3
#define global D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0 0x4
#define global D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1 0x5