Compartilhar via


Função D3D10CompileShader (d3d10shader.h)

Compile um sombreador HLSL .

Nota Use D3DX10CompileFromMemory em vez dessa função.
 

Sintaxe

HRESULT D3D10CompileShader(
  [in]  LPCSTR                   pSrcData,
  [in]  SIZE_T                   SrcDataSize,
  [in]  LPCSTR                   pFileName,
  [in]  const D3D10_SHADER_MACRO *pDefines,
  [in]  LPD3D10INCLUDE           pInclude,
  [in]  LPCSTR                   pFunctionName,
  [in]  LPCSTR                   pProfile,
  [in]  UINT                     Flags,
  [out] ID3D10Blob               **ppShader,
  [out] ID3D10Blob               **ppErrorMsgs
);

Parâmetros

[in] pSrcData

Tipo: LPCSTR

Ponteiro para uma cadeia de caracteres que contém o código-fonte do sombreador.

[in] SrcDataSize

Tipo: SIZE_T

Tamanho de pSrcData, em bytes.

[in] pFileName

Tipo: LPCSTR

O nome do arquivo que contém o código do sombreador.

[in] pDefines

Tipo: const D3D10_SHADER_MACRO*

Opcional. Ponteiro para uma matriz de definições de macro (consulte D3D10_SHADER_MACRO). A última estrutura na matriz serve como terminador e deve ter todos os membros definidos como 0.
Se não for usado, defina pDefines como NULL.

[in] pInclude

Tipo: LPD3D10INCLUDE*

Opcional. Ponteiro para uma interface ID3D10Include Interface para lidar com arquivos de inclusão. Definir isso como NULL causará um erro de compilação se um sombreador contiver um #include.

[in] pFunctionName

Tipo: LPCSTR

Nome da função de ponto de entrada do sombreador em que a execução do sombreador começa.

[in] pProfile

Tipo: LPCSTR

Uma cadeia de caracteres que especifica o perfil de sombreador ou o modelo de sombreador.

[in] Flags

Tipo: UINT

Opções de compilação do sombreador.

[out] ppShader

Tipo: ID3D10Blob**

Um ponteiro para uma Interface ID3D10Blob que contém o sombreador compilado, bem como qualquer depuração inserida e informações de tabela de símbolos.

[out] ppErrorMsgs

Tipo: ID3D10Blob**

Um ponteiro para uma Interface ID3D10Blob que contém uma listagem de erros e avisos que ocorreram durante a compilação. Esses erros e avisos são idênticos à saída de depuração de um depurador.

Retornar valor

Tipo: HRESULT

Retorna um dos seguintes códigos de retorno do Direct3D 10.

Comentários

Essa função usa a versão do compilador HLSL lançada no SDK do DirectX de novembro de 2006.

Essa função implementa duas maneiras de fornecer as informações do sombreador de entrada. Use pSrcData e SrcDataLen para especificar uma cadeia de caracteres que contém o código HLSL do sombreador (e defina pFileName como NULL) ou use pFileName para especificar o nome de um sombreador ou arquivo de efeito (e defina pSrcData como NULL).

Para configurar um estágio de pipeline programável, compile um sombreador e, em seguida, associe o sombreador ao estágio de pipeline apropriado. Por exemplo, aqui está um exemplo de compilação de um sombreador de geometria (consulte Compilar um sombreador geometry).

Essa função, D3D10CompileShader, chama a versão do compilador de sombreador que é enviada sempre que o sistema operacional é liberado. Uma versão mais atualizada do compilador de sombreador é fornecida quando o SDK do DirectX é fornecido, que pode ser acessado do D3DX chamando uma versão da função de ponto de entrada do compilador de sombreador, como D3DX10CompileFromFile. É preferível usar as funções de ponto de entrada D3DX para garantir que a versão mais recente do compilador de sombreador seja usada se você redistribuir as bibliotecas redistribuíveis do DirectX.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho d3d10shader.h
Biblioteca D3D10.lib
DLL D3D10.dll

Confira também

Funções de sombreador