D3D12_SIGNATURE_PARAMETER_DESC 구조체(d3d12shader.h)
셰이더 서명을 설명합니다.
구문
typedef struct _D3D12_SIGNATURE_PARAMETER_DESC {
LPCSTR SemanticName;
UINT SemanticIndex;
UINT Register;
D3D_NAME SystemValueType;
D3D_REGISTER_COMPONENT_TYPE ComponentType;
BYTE Mask;
BYTE ReadWriteMask;
UINT Stream;
D3D_MIN_PRECISION MinPrecision;
} D3D12_SIGNATURE_PARAMETER_DESC;
멤버
SemanticName
데이터를 사용하는 방법을 식별하는 매개 변수별 문자열입니다. 자세한 내용은 의미 체계를 참조하세요.
SemanticIndex
의미 체계를 수정하는 의미 체계 인덱스입니다. 동일한 의미 체계를 사용하는 다양한 매개 변수를 구분하는 데 사용됩니다.
Register
이 변수의 데이터를 포함할 레지스터입니다.
SystemValueType
특정 파이프라인 단계의 기능을 결정하는 미리 정의된 문자열을 식별하는 D3D_NAME 형식의 값입니다.
ComponentType
레지스터에 저장된 구성 요소별 데이터 형식을 식별하는 D3D_REGISTER_COMPONENT_TYPE 형식화된 값입니다. 각 레지스터는 최대 4개 구성 요소의 데이터를 저장할 수 있습니다.
Mask
레지스터의 어떤 구성 요소가 사용되는지 나타내는 마스크입니다.
ReadWriteMask
지정된 구성 요소가 기록되지 않는지(서명이 출력 서명인 경우) 항상 읽는지(서명이 입력 서명인 경우)를 나타내는 마스크입니다.
Stream
서명 매개 변수에 기하 도형 셰이더가 사용하는 스트림을 나타냅니다.
MinPrecision
원하는 최소 보간 정밀도를 나타내는 D3D_MIN_PRECISION 형식의 값입니다. 자세한 내용은 HLSL 최소 정밀도 사용을 참조하세요.
설명
셰이더는 n개의 입력을 사용할 수 있으며 m 출력을 생성할 수 있습니다. 입력(또는 출력) 매개 변수, 관련 형식 및 연결된 의미 체계의 순서가 셰이더 서명을 구성합니다. 각 셰이더에는 입력과 출력 서명이 있습니다.
셰이더 또는 효과를 컴파일할 때 일부 API 호출은 셰이더 서명의 유효성을 검사합니다. 즉, 한 셰이더의 출력 서명(예: 꼭짓점 셰이더)과 다른 셰이더의 입력 서명(예: 픽셀 셰이더)을 비교합니다. 이렇게 하면 셰이더가 해당 데이터를 사용하는 다운스트림 셰이더와 호환되는 데이터를 출력합니다. 호환은 셰이더 서명이 이전 셰이더 단계의 정확히 일치하는 하위 집합임을 의미합니다. 정확한 일치는 매개 변수 형식과 의미 체계가 정확히 일치해야 한다는 것을 의미합니다. 하위 집합은 다운스트림 단계에서 필요하지 않은 매개 변수가 셰이더 서명에 해당 매개 변수를 포함할 필요가 없음을 의미합니다.
ID3D12ShaderReflection::GetInputParameterDesc와 같은 API를 호출하여 셰이더 또는 효과에서 셰이더 서명을 가져옵니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | d3d12shader.h |