Compartilhar via


Método ID3D11Device::CreateInputLayout (d3d11.h)

Crie um objeto de layout de entrada para descrever os dados de buffer de entrada para o estágio de assembler de entrada.

Sintaxe

HRESULT CreateInputLayout(
  [in]            const D3D11_INPUT_ELEMENT_DESC *pInputElementDescs,
  [in]            UINT                           NumElements,
  [in]            const void                     *pShaderBytecodeWithInputSignature,
  [in]            SIZE_T                         BytecodeLength,
  [out, optional] ID3D11InputLayout              **ppInputLayout
);

Parâmetros

[in] pInputElementDescs

Tipo: const D3D11_INPUT_ELEMENT_DESC*

Uma matriz dos tipos de dados de entrada de estágio do assembler de entrada; cada tipo é descrito por uma descrição do elemento (consulte D3D11_INPUT_ELEMENT_DESC).

[in] NumElements

Tipo: UINT

O número de tipos de dados de entrada na matriz de elementos de entrada.

[in] pShaderBytecodeWithInputSignature

Tipo: const void*

Um ponteiro para o sombreador compilado. O código do sombreador compilado contém uma assinatura de entrada que é validada em relação à matriz de elementos. Consulte Observações.

[in] BytecodeLength

Tipo: SIZE_T

Tamanho do sombreador compilado.

[out, optional] ppInputLayout

Tipo: ID3D11InputLayout**

Um ponteiro para o objeto de layout de entrada criado (consulte ID3D11InputLayout). Para validar os outros parâmetros de entrada, defina esse ponteiro como NULL e verifique se o método retorna S_FALSE.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, o código de retorno será S_OK. Consulte Códigos de retorno do Direct3D 11 para obter códigos de erro com falha.

Comentários

Depois de criar um objeto de layout de entrada, ele deve ser associado ao estágio de assembler de entrada antes de chamar uma API de desenho.

Depois que um objeto de layout de entrada é criado a partir de uma assinatura de sombreador, o objeto de layout de entrada pode ser reutilizado com qualquer outro sombreador que tenha uma assinatura de entrada idêntica (semântica incluída). Isso pode simplificar a criação de objetos de layout de entrada quando você estiver trabalhando com muitos sombreadores com entradas idênticas.

Se um tipo de dados na declaração de layout de entrada não corresponder ao tipo de dados em uma assinatura de entrada de sombreador, CreateInputLayout gerará um aviso durante a compilação. O aviso é simplesmente chamar a atenção para o fato de que os dados podem ser reinterpretados quando lidos de um registro. Você pode desconsiderar esse aviso (se a reinterpretação for intencional) ou fazer com que os tipos de dados correspondam em ambas as declarações para eliminar o aviso.

Windows Phone 8: há suporte para essa API.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho d3d11.h
Biblioteca D3D11.lib

Confira também

ID3D11Device