D3DXFX
用于保存和创建效果的选项。
下表中的常量是在 d3dx9effect.h 中定义的。
效果状态保存和还原标志 | 说明 | |
D3DXFX_DONOTSAVESTATE | 在调用 Begin 时不会保存任何状态,在调用 End 时则不会还原任何状态。 | |
D3DXFX_DONOTSAVESAMPLERSTATE | 状态块在调用 Begin 时会保存状态,并且在调用 End 时会还原状态。 | |
D3DXFX_DONOTSAVESHADERSTATE | 状态块在调用 Begin 时会保存状态(着色器和着色器常量除外),并在调用 End 时会还原状态。 | |
效果创建标志 | 说明 | |
D3DXFX_NOT_CLONEABLE | 该效果将是不可克隆的,并且不回包含任何着色器二进制数据。 GetPassDesc 不会返回着色器函数指针。 设置此标志可减少大约 50% 的效果内存使用,因为效果系统将不再需要将着色器的副本保留在内存中。 此标志由 D3DXCreateEffect、D3DXCreateEffectFromFile 和 D3DXCreateEffectFromResource 使用。 | |
D3DXFX_LARGEADDRESSAWARE | 支持将效果资源分配给计算机的高位地址空间。 一个重要限制是不能互换使用字符串和句柄。 例如,以下内容将不再有效。
相反,必须使用 GetParameterByName 等方法来存储参数的句柄,然后使用该句柄将变量传递给效果。 |
下表中的常量默认未定义,并且必须由开发人员定义。
效果预处理器 #define 的 | 说明 |
---|---|
D3DXFX_LARGEADDRESS_HANDLE | 在包括 d3dx9.h 之前定义此值,以便在尝试将字符串传递到 D3DXHANDLE 参数时应用程序无法编译。 这将有助于确保将有效信息传递到运行时。 |
效果链接器标志 | 说明 |
LARGE_ADDRESS_AWARE | 设置链接器标志 LARGE_ADDRESS_AWARE = 1 将支持应用程序在需要时分配超过 2GB 地址限制的资源。 |
效果系统使用状态块自动保存和还原状态。 有关状态块的详细信息,请参阅状态块保存和还原状态 (Direct3D 9)。
相关主题