Compartir a través de


D3DXFX

Opciones para guardar y crear efectos.

Las constantes de la tabla siguiente se definen en d3dx9effect.h.

Marcas de guardado y restauración de estado de efecto Descripción
D3DXFX_DONOTSAVESTATE No se guarda ningún estado al llamar a Begin o se restaura al llamar a End.
D3DXFX_DONOTSAVESAMPLERSTATE Un bloque de estado guarda el estado al llamar a Begin y restaura el estado al llamar a End.
D3DXFX_DONOTSAVESHADERSTATE Un bloque de estado guarda el estado (excepto sombreadores y constantes de sombreador) al llamar a Begin y restaura el estado al llamar a End.
Marcas de creación de efectos Descripción
D3DXFX_NOT_CLONEABLE El efecto será no clonable y no contendrá ningún dato binario del sombreador. GetPassDesc no devolverá punteros de función de sombreador. Al establecer esta marca, se reduce el uso de memoria de efecto en aproximadamente 50% porque elimina la necesidad de que el sistema de efectos mantenga una copia de los sombreadores en memoria. Esta marca la usa D3DXCreateEffect, D3DXCreateEffectFromFiley D3DXCreateEffectFromResource.
D3DXFX_LARGEADDRESSAWARE Habilita la asignación de un recurso de efecto en el espacio de direcciones uppder de una máquina. Una limitación importante es que no puede usar cadenas y controlar indistintamente. Por ejemplo, lo siguiente ya no funcionaría.
g_pEffect->SetMatrix( "g_mWorldViewProjection", &mWorldViewProjection );

En su lugar, se debe usar un método como GetParameterByName para almacenar el identificador del parámetro , que luego se usa para pasar variables al efecto.

 

Las constantes de la tabla siguiente no se definen de forma predeterminada y deben definirse por el desarrollador.

#define del preprocesador de efectos Descripción
D3DXFX_LARGEADDRESS_HANDLE Defina este valor antes de incluir d3dx9.h para que la aplicación no se compile al intentar pasar cadenas a D3DXHANDLE parámetros. Esto ayudará a asegurarse de que se pasa información válida al tiempo de ejecución.
Marcas del enlazador de efectos Descripción
LARGE_ADDRESS_AWARE Si se establece la marca del enlazador LARGE_ADDRESS_AWARE = 1, la aplicación permitirá asignar recursos más allá del límite de direcciones de 2 GB cuando sea necesario.

 

El sistema de efectos usa bloques de estado para guardar y restaurar el estado automáticamente. Para obtener más información sobre los bloques de estado, vea State Blocks Save and Restore State (Direct3D 9).

constantes de efecto