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 D3DXCompileShaderFromResource(
_In_ HMODULE hSrcModule,
_In_ LPCSTR pSrcResource,
_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
-
hSrcModule [in]
-
Tipo: HMODULE
Identificador de un módulo que contiene la descripción del efecto. Si este parámetro es NULL, se usará el módulo actual.
-
pSrcResource [in]
-
Tipo: LPCSTR
Puntero a una cadena que especifica el nombre del recurso.
-
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, se respetará #includes al compilar desde un archivo o se producirá 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_OUTOFMEMORY.
Requisitos
| Requisito | Value |
|---|---|
| Encabezado |
|
| Biblioteca |
|
Consulte también