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 del 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 del efecto aproximadamente un 50 % porque elimina la necesidad de que el sistema de efectos mantenga una copia de los sombreadores en la memoria. Esta marca la usa D3DXCreateEffect, D3DXCreateEffectFromFile y 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 d identificadores indistintamente. Por ejemplo, el código siguiente no se compilarí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 parámetros D3DXHANDLE. Esto ayudará a asegurarse de que se pasa información válida al entorno de ejecución.
Marcas del vinculador de efectos Descripción
LARGE_ADDRESS_AWARE Si se establece la marca del vinculador 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 más información sobre los bloques de estado, consulte Estado de guardado y restauración de bloques de estado (Direct3D 9).

Constantes de efecto