Compartir a través de


estructura D3D10_SIGNATURE_PARAMETER_DESC (d3d10shader.h)

Describe una firma de sombreador.

Sintaxis

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;

Miembros

SemanticName

Tipo: LPCSTR

Cadena por parámetro que identifica cómo se usarán los datos. Consulte Semántica (DirectX HLSL).

SemanticIndex

Tipo: UINT

Índice semántico que modifica la semántica. Se usa para diferenciar parámetros diferentes que usan la misma semántica.

Register

Tipo: UINT

Registro que contendrá los datos de esta variable.

SystemValueType

Tipo: D3D10_NAME

Cadena predefinida que determina la funcionalidad de determinadas fases de canalización. Consulte D3D10_NAME.

ComponentType

Tipo: D3D10_REGISTER_COMPONENT_TYPE

Tipo de datos por componente que se almacena en un registro. Consulte D3D10_REGISTER_COMPONENT_TYPE. Cada registro puede almacenar hasta cuatro componentes de datos.

Mask

Tipo: BYTE

Máscara que indica qué componentes de un registro se usan.

ReadWriteMask

Tipo: BYTE

Máscara que indica si un componente determinado nunca se escribe (si la firma es una firma de salida) o siempre se lee (si la firma es una firma de entrada). La máscara es una combinación de valores de D3D10_REGISTER_COMPONENT_TYPE .

Comentarios

Un sombreador puede tomar n entradas y puede generar salidas m. El orden de los parámetros de entrada (o salida), sus tipos asociados y cualquier semántica adjunta constituyen la firma del sombreador. Cada sombreador tiene una entrada y una firma de salida.

Al compilar un sombreador o un efecto, algunas llamadas API validan firmas de sombreador (como D3D10CompileShader y D3D10CompileEffectFromMemory). Es decir, comparan la firma de salida de un sombreador (como un sombreador de vértices) con la firma de entrada de otro sombreador (como un sombreador de píxeles). Esto garantiza que un sombreador genera datos compatibles con un sombreador de nivel inferior que consume esos datos. Compatible significa que una firma de sombreador es un subconjunto de coincidencia exacta de la fase del sombreador anterior. Coincidencia exacta significa que los tipos de parámetros y la semántica deben coincidir exactamente. Subconjunto significa que un parámetro que no es necesario para una fase de bajada no necesita incluir ese parámetro en su firma del sombreador.

Obtenga una firma de sombreador de un sombreador o un efecto mediante una llamada a las API como ID3D10ShaderReflection::GetInputParameterDesc o ID3D10EffectShaderVariable::GetInputSignatureElementDesc.

Requisitos

Requisito Valor
Header d3d10shader.h

Consulte también

Estructuras de los sombreadores