Compartir a través de


Función D3DPreprocess (d3dcompiler.h)

Preprocesa código HLSL sin compilar.

Sintaxis

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 de

Puntero a datos de sombreador sin compilar; código ASCII HLSL o un efecto compilado.

[in] SrcDataSize

Tipo: SIZE_T

Longitud de pSrcData.

[in, optional] pSourceName

Tipo: LPCSTR

Nombre del archivo que contiene el código HLSL sin compilar.

[in, optional] pDefines

Tipo: D3D_SHADER_MACRO* const

Matriz de definiciones de macro terminadas en NULL (vea D3D_SHADER_MACRO).

[in, optional] pInclude

Tipo: * ID3DInclude

Puntero a un ID3DInclude para controlar archivos de inclusión. Si se establece en NULL, se producirá un error de compilación si un sombreador contiene un #include. Puede pasar la macro D3D_COMPILE_STANDARD_FILE_INCLUDE, que es un puntero a un controlador de inclusión predeterminado. Este controlador de inclusión predeterminado incluye archivos relativos al directorio y los archivos actuales que son relativos al directorio del archivo de origen inicial. Al usar D3D_COMPILE_STANDARD_FILE_INCLUDE, debe especificar el nombre del archivo de origen en el parámetro pSourceName; el compilador derivará el directorio relativo inicial de pSourceName.

#define D3D_COMPILE_STANDARD_FILE_INCLUDE ((ID3DInclude*)(UINT_PTR)1)

[out] ppCodeText

Tipo: ID3DBlob

Puntero a una variable que recibe un puntero a la interfaz de ID3DBlob que puede usar para acceder al código preprocesado.

[out, optional] ppErrorMsgs

Tipo: ID3DBlob

Puntero a un id3DBlob que contiene mensajes de error del compilador o null si no se produjo ningún error.

Valor devuelto

Tipo: HRESULT

Devuelve uno de los códigos de retorno Direct3D 11.

Observaciones

D3DPreprocess genera directivas #line y conserva la numeración de líneas de entrada de origen para que la numeración de líneas de salida pueda estar correctamente relacionada con el origen de entrada.

Requisitos

Requisito Valor
de la plataforma de destino de Windows
encabezado de d3dcompiler.h
biblioteca de D3dcompiler_47.lib
DLL de D3dcompiler_47.dll

Consulte también

funciones de