Compartir a través de


Función D3DCompileFromFile (d3dcompiler.h)

Nota Puedes usar esta API para desarrollar tus aplicaciones de la Tienda Windows, pero no puedes usarla en aplicaciones que envíes a la Tienda Windows. Consulte la sección "Compilar sombreadores para UWP", en los comentarios de D3DCompile2.
 
Compila el código de Lenguaje de sombreador de alto nivel (HLSL) de Microsoft en código de bytes para un destino determinado.

Sintaxis

HRESULT D3DCompileFromFile(
  [in]            LPCWSTR                pFileName,
  [in, optional]  const D3D_SHADER_MACRO *pDefines,
  [in, optional]  ID3DInclude            *pInclude,
  [in]            LPCSTR                 pEntrypoint,
  [in]            LPCSTR                 pTarget,
  [in]            UINT                   Flags1,
  [in]            UINT                   Flags2,
  [out]           ID3DBlob               **ppCode,
  [out, optional] ID3DBlob               **ppErrorMsgs
);

Parámetros

[in] pFileName

Puntero a una cadena terminada en null constante que contiene el nombre del archivo que contiene el código del sombreador.

[in, optional] pDefines

Matriz opcional de estructuras de D3D_SHADER_MACRO que definen macros de sombreador. Cada definición de macro contiene un nombre y una definición terminada en null. Si no se usa, establezca en NULL. La última estructura de la matriz actúa como terminador y debe tener todos los miembros establecidos en NULL.

[in, optional] pInclude

Puntero opcional a una interfaz ID3DInclude que el compilador usa para controlar los archivos de inclusión. Si establece este parámetro en NULL y el sombreador contiene un #include, se produce un error de compilación. 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 actual.

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

[in] pEntrypoint

Puntero a una cadena terminada en null constante que contiene el nombre de la función de punto de entrada del sombreador donde comienza la ejecución del sombreador. Al compilar un efecto, D3DCompileFromFile omite pEntrypoint; se recomienda establecer pEntrypoint en NULL porque es una buena práctica de programación establecer un parámetro de puntero en NULL si la función llamada no la usará.

[in] pTarget

Puntero a una cadena terminada en null constante que especifica el destino del sombreador o el conjunto de características del sombreador con las que se va a compilar. El destino del sombreador puede ser un modelo de sombreador (por ejemplo, modelo de sombreador 2, modelo de sombreador 3, modelo de sombreador 4 o modelo de sombreador 5 y versiones posteriores). El destino también puede ser un tipo de efecto (por ejemplo, fx_4_1). Para obtener información sobre los destinos que admiten varios perfiles, consulte Especificación de destinos del compilador.

[in] Flags1

Combinación de opciones de compilación del sombreador combinadas mediante una operación OR bit a bit. El valor resultante especifica cómo compila el compilador el código HLSL.

[in] Flags2

Combinación de opciones de compilación de efectos combinadas mediante una operación OR bit a bit. El valor resultante especifica cómo compila el compilador el efecto. Al compilar un sombreador y no un archivo de efecto, D3DCompileFromFile omite Flags2; se recomienda establecer Flags2 en cero, ya que es recomendable establecer un parámetro que no sea de puntero en cero si la función llamada no la usará.

[out] ppCode

Puntero a una variable que recibe un puntero a la interfaz ID3DBlob que puede usar para tener acceso al código compilado.

[out, optional] ppErrorMsgs

Puntero opcional a una variable que recibe un puntero a la interfaz ID3DBlob que puede usar para acceder a los mensajes de error del compilador o NULL si no hay errores.

Valor devuelto

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

Comentarios

Nota La D3dcompiler_44.dll o una versión posterior del archivo contiene la función del compilador D3DCompileFromFile .
 

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado d3dcompiler.h
Library D3DCompiler.lib
Archivo DLL D3DCompiler_47.dll

Vea también

Funciones