Compartir a través de


Función D3DXCompileShaderFromFile

Compile un archivo de sombreador.

Nota

En lugar de usar esta función heredada, se recomienda compilar sin conexión mediante el compilador de línea de comandos Fxc.exe o usar la API D3DCompile .

 

Sintaxis

HRESULT D3DXCompileShaderFromFile(
  _In_        LPCTSTR             pSrcFile,
  _In_  const D3DXMACRO           *pDefines,
  _In_        LPD3DXINCLUDE       pInclude,
  _In_        LPCSTR              pFunctionName,
  _In_        LPCSTR              pProfile,
  _In_        DWORD               Flags,
  _Out_       LPD3DXBUFFER        *ppShader,
  _Out_       LPD3DXBUFFER        *ppErrorMsgs,
  _Out_       LPD3DXCONSTANTTABLE *ppConstantTable
);

Parámetros

pSrcFile [in]

Tipo: LPCTSTR

Puntero a una cadena que especifica el nombre de archivo.

pDefines [in]

Tipo: const D3DXMACRO*

Matriz opcional terminada en NULL de estructuras D3DXMACRO . Este valor puede ser NULL.

pInclude [in]

Tipo: LPD3DXINCLUDE

Puntero de interfaz opcional, ID3DXInclude, que se usará para controlar directivas de #include. Si este valor es NULL, #includes se respetará al compilar desde un archivo o provocará un error cuando se compile desde un recurso o memoria.

pFunctionName [in]

Tipo: LPCSTR

Puntero a la función de punto de entrada del sombreador donde comienza la ejecución.

pProfile [in]

Tipo: LPCSTR

Puntero a un perfil de sombreador que determina el conjunto de instrucciones del sombreador. Consulte D3DXGetVertexShaderProfile o D3DXGetPixelShaderProfile para obtener una lista de los perfiles disponibles.

Marcas [in]

Tipo: DWORD

Compile las opciones identificadas por varias marcas. El compilador HLSL de Direct3D 10 ahora es el valor predeterminado. Consulte Marcas D3DXSHADER para obtener más información.

ppShader [out]

Tipo: LPD3DXBUFFER*

Devuelve un búfer que contiene el sombreador creado. Este búfer contiene el código del sombreador compilado, así como cualquier información insertada de depuración y tabla de símbolos.

ppErrorMsgs [out]

Tipo: LPD3DXBUFFER*

Devuelve un búfer que contiene una lista de errores y advertencias que se encontraron durante la compilación. Estos son los mismos mensajes que muestra el depurador al ejecutarse en modo de depuración. Este valor puede ser NULL.

ppConstantTable [out]

Tipo: LPD3DXCONSTANTTABLE*

Devuelve una interfaz ID3DXConstantTable , que se puede usar para acceder a las constantes del sombreador. Este valor puede ser NULL. Si compila la aplicación con reconocimiento de direcciones grandes (es decir, usa la opción del enlazador /LARGEADDRESSAWARE para controlar direcciones de más de 2 GB), no puede usar este parámetro y debe establecerlo en NULL. En su lugar, debe usar la función D3DXGetShaderConstantTableEx para recuperar la tabla de constantes de sombreador incrustada dentro del sombreador. En esta llamada D3DXGetShaderConstantTableEx , debe pasar la marca D3DXCONSTTABLE_LARGEADDRESSAWARE al parámetro Flags para especificar el acceso a hasta 4 GB de espacio de direcciones virtual.

Valor devuelto

Tipo: HRESULT

Si la función se realiza correctamente, el valor devuelto se D3D_OK. Si se produce un error en la función, el valor devuelto puede ser uno de los siguientes: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_NOTIMPL, E_OUTOFMEMORY.

E_NOTIMPL se devuelve si usa sombreadores 1.1 (vs_1_1 y ps_1_1).

Requisitos

Requisito Value
Encabezado
D3DX9Shader.h
Biblioteca
D3dx9.lib

Consulte también

Funciones del sombreador

D3DXCompileShader

D3DXCompileShaderFromResource