Función D3DXCompileShader
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 D3DXCompileShader(
_In_ LPCSTR pSrcData,
_In_ UINT srcDataLen,
_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
-
pSrcData [in]
-
Tipo: LPCSTR
Puntero a una cadena que contiene el sombreador.
-
srcDataLen [in]
-
Tipo: UINT
Longitud de los datos en bytes.
-
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 una cadena que contiene el nombre de 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