Compartilhar via


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

Confira também

Estruturas do sombreador