Función D3DXCreateEffectFromResourceEx
Cree un efecto a partir de una descripción de efecto ASCII o binario. Se trata de una versión extendida de D3DXCreateEffectFromResource que permite a una aplicación controlar qué parámetros ignora el sistema de efectos.
HRESULT D3DXCreateEffectFromResourceEx(
_In_ LPDIRECT3DDEVICE9 pDevice,
_In_ HMODULE hSrcModule,
_In_ LPCTSTR pSrcResource,
_In_ const D3DXMACRO *pDefines,
_In_ LPD3DXINCLUDE pInclude,
_In_ LPCSTR pSkipConstants,
_In_ DWORD Flags,
_In_ LPD3DXEFFECTPOOL pPool,
_Out_ LPD3DXEFFECT *ppEffect,
_Out_ LPD3DXBUFFER *ppCompilationErrors
);
-
pDevice [in]
-
Tipo: LPDIRECT3DDEVICE9
Puntero al dispositivo.
-
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: LPCTSTR
Puntero al recurso. Este parámetro admite cadenas Unicode y ANSI. Vea la sección Comentarios.
-
pDefines [in]
-
Tipo: const D3DXMACRO*
Matriz opcional terminada en NULL de estructuras D3DXMACRO que describen las definiciones del preprocesador. 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.
-
pSkipConstants [in]
-
Tipo: LPCSTR
Cadena de parámetros de efecto que el sistema de efectos omitirá. La cadena debe terminar en NULL y debe contener el nombre de cada constante administrada por la aplicación separada por un punto y coma.
-
Marcas [in]
-
Tipo: DWORD
Si pSrcResource contiene un efecto de texto, las marcas pueden ser una combinación de marcas D3DXSHADER y marcas D3DXFX ; de lo contrario, pSrcResource contiene un efecto binario y las únicas marcas que se respetan son marcas D3DXFX. El compilador HLSL de Direct3D 10 ahora es el valor predeterminado. Consulte Effect-Compiler Tool (Herramienta del compilador de efectos ) para obtener más información.
-
pPool [in]
-
Tipo: LPD3DXEFFECTPOOL
Puntero a un objeto ID3DXEffectPool que se usará para los parámetros compartidos. Si este valor es NULL, no se compartirá ningún parámetro.
-
ppEffect [out]
-
Tipo: LPD3DXEFFECT*
Devuelve un búfer que contiene el efecto compilado.
-
ppCompilationErrors [out]
-
Tipo: LPD3DXBUFFER*
Devuelve un búfer que contiene una lista de errores de compilación.
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.
Esta función es una versión extendida de D3DXCreateEffectFromResource que permite a una aplicación especificar qué constantes de efecto administrará la aplicación. El sistema de efectos omite una constante administrada por la aplicación. Es decir, la aplicación es responsable de inicializar la constante, así como de guardar y restaurar su estado siempre que corresponda.
Esta función comprueba cada constante en pSkipConstants para ver que:
- Está enlazado a un registro constante.
- Solo se usa en el código del sombreador HLSL.
Si una constante se denomina en la cadena que no está presente en el efecto, se omite.
Si la configuración del compilador requiere Unicode, el tipo de datos LPCTSTR se resuelve en LPCWSTR. De lo contrario, el tipo de datos LPCTSTR se resuelve en LPCSTR.
La configuración del compilador también determina la versión de la función. Si se define Unicode, la llamada de función se resuelve en D3DXCreateEffectFromResourceW. De lo contrario, la llamada de función se resuelve en D3DXCreateEffectFromResourceA porque se usan cadenas ANSI.
D3DXCreateEffectFromResource carga datos de un recurso de tipo RT_RCDATA. Consulte MSDN para obtener más información sobre los recursos de Windows.
Requisito | Value |
---|---|
Encabezado |
|
Biblioteca |
|