Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 |
|
| Biblioteca |
|
Consulte también