Compartilhar via


Função D3DX10CompileFromMemory

Observação

Em vez de usar essa função herdada, recomendamos que você compile offline usando o compilador de linha de comando Fxc.exe ou use a API D3DCompile .

 

Compile um sombreador ou um efeito carregado na memória.

Sintaxe

HRESULT D3DX10CompileFromMemory(
  _In_        LPCSTR             pSrcData,
  _In_        SIZE_T             SrcDataLen,
  _In_        LPCSTR             pFileName,
  _In_  const D3D10_SHADER_MACRO *pDefines,
  _In_        LPD3D10INCLUDE     pInclude,
  _In_        LPCSTR             pFunctionName,
  _In_        LPCSTR             pProfile,
  _In_        UINT               Flags1,
  _In_        UINT               Flags2,
  _In_        ID3DX10ThreadPump  *pPump,
  _Out_       ID3D10Blob         **ppShader,
  _Out_       ID3D10Blob         **ppErrorMsgs,
  _Out_       HRESULT            *pHResult
);

Parâmetros

pSrcData [in]

Tipo: LPCSTR

Ponteiro para o sombreador na memória.

SrcDataLen [in]

Tipo: SIZE_T

Tamanho do sombreador na memória.

pFileName [in]

Tipo: LPCSTR

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

pDefines [in]

Tipo: const D3D_SHADER_MACRO*

Opcional. Ponteiro para uma matriz de definições de macro (consulte D3D_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.

pInclude [in]

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.

pFunctionName [in]

Tipo: LPCSTR

Nome da função de ponto de entrada do sombreador em que a execução do sombreador começa. Quando você compila um efeito, D3DX10CompileFromMemory ignora pFunctionName; Recomendamos que você defina pFunctionName como NULL porque é uma boa prática de programação definir um parâmetro de ponteiro como NULL se a função chamada não o usar.

pProfile [in]

Tipo: LPCSTR

Uma cadeia de caracteres que especifica o modelo de sombreador; pode ser qualquer perfil no modelo de sombreador 2, modelo de sombreador 3 ou modelo de sombreador 4.

Flags1 [in]

Tipo: UINT

Sinalizadores de compilação do sombreador.

Flags2 [in]

Tipo: UINT

Sinalizadores de compilação de efeito. Quando você compila um sombreador e não um arquivo de efeito, D3DX10CompileFromMemory ignora Flags2; Recomendamos que você defina Flags2 como zero porque é uma boa prática de programação definir um parâmetro não pontudo como zero se a função chamada não o usar.

pPump [in]

Tipo: ID3DX10ThreadPump*

Um ponteiro para uma interface de bomba de thread (consulte Interface ID3DX10ThreadPump). Use NULL para especificar que essa função não deve retornar até que seja concluída.

ppShader [out]

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.

ppErrorMsgs [out]

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.

pHResult [out]

Tipo: HRESULT*

Um ponteiro para o valor retornado. Pode ser NULL. Se pPump não for NULL, pHResult deverá ser um local de memória válido até que a execução assíncrona seja concluída.

Valor retornado

Tipo: HRESULT

O valor retornado é um dos valores listados em Códigos de Retorno do Direct3D 10.

Requisitos

Requisito Valor
parâmetro
D3DX10Async.h

Confira também

Funções Uso Geral