Função D3DPreprocess (d3dcompiler.h)
Pré-processa o código HLSL não compilado.
Sintaxe
HRESULT D3DPreprocess(
[in] LPCVOID pSrcData,
[in] SIZE_T SrcDataSize,
[in, optional] LPCSTR pSourceName,
[in, optional] const D3D_SHADER_MACRO *pDefines,
[in, optional] ID3DInclude *pInclude,
[out] ID3DBlob **ppCodeText,
[out, optional] ID3DBlob **ppErrorMsgs
);
Parâmetros
[in] pSrcData
Tipo: LPCVOID
Um ponteiro para dados de sombreador não compilados; código ASCII HLSL ou um efeito compilado.
[in] SrcDataSize
Tipo: SIZE_T
Comprimento de pSrcData.
[in, optional] pSourceName
Tipo: LPCSTR
O nome do arquivo que contém o código HLSL não compilado.
[in, optional] pDefines
Tipo: const D3D_SHADER_MACRO*
Uma matriz de definições de macro terminadas em NULL (consulte D3D_SHADER_MACRO).
[in, optional] pInclude
Tipo: ID3DInclude*
Um ponteiro para um ID3DInclude para lidar com arquivos de inclusão. Definir isso como NULL causará um erro de compilação se um sombreador contiver um #include. Você pode passar a macro D3D_COMPILE_STANDARD_FILE_INCLUDE , que é um ponteiro para um manipulador de inclusão padrão. Esse manipulador de inclusão padrão inclui arquivos relativos ao diretório atual e arquivos relativos ao diretório do arquivo de origem inicial. Ao usar D3D_COMPILE_STANDARD_FILE_INCLUDE, você deve especificar o nome do arquivo de origem no parâmetro pSourceName ; o compilador derivará o diretório relativo inicial do pSourceName.
#define D3D_COMPILE_STANDARD_FILE_INCLUDE ((ID3DInclude*)(UINT_PTR)1)
[out] ppCodeText
Tipo: ID3DBlob**
O endereço de um ID3DBlob que contém o código compilado.
[out, optional] ppErrorMsgs
Tipo: ID3DBlob**
Um ponteiro para um ID3DBlob que contém mensagens de erro do compilador ou NULL se não houver erros.
Valor retornado
Tipo: HRESULT
Retorna um dos códigos de retorno do Direct3D 11.
Comentários
D3DPreprocess gera #line diretivas e preserva a numeração de linha da entrada de origem para que a numeração de linha de saída possa estar corretamente relacionada à fonte de entrada.
Requisitos
Plataforma de Destino | Windows |
Cabeçalho | d3dcompiler.h |
Biblioteca | D3dcompiler_47.lib |
DLL | D3dcompiler_47.dll |