estrutura D3D10_SIGNATURE_PARAMETER_DESC (d3d10shader.h)
Descreve uma assinatura de sombreador.
Sintaxe
typedef struct _D3D10_SIGNATURE_PARAMETER_DESC {
LPCSTR SemanticName;
UINT SemanticIndex;
UINT Register;
D3D10_NAME SystemValueType;
D3D10_REGISTER_COMPONENT_TYPE ComponentType;
BYTE Mask;
BYTE ReadWriteMask;
} D3D10_SIGNATURE_PARAMETER_DESC;
Membros
SemanticName
Tipo: LPCSTR
Uma cadeia de caracteres por parâmetro que identifica como os dados serão usados. Consulte Semântica (DirectX HLSL).
SemanticIndex
Tipo: UINT
Índice semântico que modifica a semântica. Usado para diferenciar parâmetros diferentes que usam a mesma semântica.
Register
Tipo: UINT
O registro que conterá os dados dessa variável.
SystemValueType
Tipo: D3D10_NAME
Uma cadeia de caracteres predefinida que determina a funcionalidade de determinados estágios de pipeline. Confira D3D10_NAME.
ComponentType
Tipo: D3D10_REGISTER_COMPONENT_TYPE
O tipo de dados por componente armazenado em um registro. Consulte D3D10_REGISTER_COMPONENT_TYPE. Cada registro pode armazenar até quatro componentes de dados.
Mask
Tipo: BYTE
Máscara que indica quais componentes de um registro são usados.
ReadWriteMask
Tipo: BYTE
Máscara que indica se um determinado componente nunca foi gravado (se a assinatura for uma assinatura de saída) ou sempre lido (se a assinatura for uma assinatura de entrada). A máscara é uma combinação de valores D3D10_REGISTER_COMPONENT_TYPE .
Comentários
Um sombreador pode obter n entradas e pode produzir saídas m. A ordem dos parâmetros de entrada (ou saída), seus tipos associados e qualquer semântica anexada compõem a assinatura do sombreador. Cada sombreador tem uma entrada e uma assinatura de saída.
Ao compilar um sombreador ou um efeito, algumas chamadas à API validam assinaturas de sombreador (como D3D10CompileShader e D3D10CompileEffectFromMemory). Ou seja, eles comparam a assinatura de saída de um sombreador (como um sombreador de vértice) com a assinatura de entrada de outro sombreador (como um sombreador de pixel). Isso garante que um sombreador gere dados compatíveis com um sombreador downstream que está consumindo esses dados. Compatível significa que uma assinatura de sombreador é um subconjunto de correspondência exata do estágio de sombreador anterior. Correspondência exata significa que os tipos de parâmetro e a semântica devem corresponder exatamente. Subconjunto significa que um parâmetro que não é exigido por um estágio downstream não precisa incluir esse parâmetro em sua assinatura de sombreador.
Obtenha uma assinatura de sombreador de um sombreador ou um efeito chamando APIs como ID3D10ShaderReflection::GetInputParameterDesc ou ID3D10EffectShaderVariable::GetInputSignatureElementDesc.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | d3d10shader.h |