Прочитать на английском

Поделиться через


D3DXFX

Параметры сохранения и создания эффектов.

Константы в следующей таблице определяются в d3dx9effect.h.

Сохранение и восстановление флагов состояния эффектов Description
D3DXFX_DONOTSAVESTATE Состояние не сохраняется при вызове begin или восстановлено при вызове конца.
D3DXFX_DONOTSAVESAMPLERSTATE Блок состояния сохраняет состояние при вызове Begin и восстанавливает состояние при вызове конца.
D3DXFX_DONOTSAVESHADERSTATE Блок состояния сохраняет состояние (за исключением шейдеров и констант шейдеров) при вызове begin и восстанавливает состояние при вызове end.
Флаги создания эффектов Description
D3DXFX_NOT_CLONEABLE Эффект будет не клонируемым и не будет содержать двоичные данные шейдера. GetPassDesc не возвращает указатели функции шейдера. Установка этого флага снижает использование памяти эффектов примерно на 50 %, так как она устраняет необходимость в системе эффектов сохранить копию шейдеров в памяти. Этот флаг используется D3DXCreateEffect, D3DXCreateEffectFromFile и D3DXCreateEffectFromResource.
D3DXFX_LARGEADDRESSAWARE Включает выделение ресурса эффекта в адресное пространство uppder компьютера. Одним из важных ограничений является то, что нельзя использовать строки и обрабатывать взаимозаменяемо. Например, следующее больше не будет работать.
g_pEffect->SetMatrix( "g_mWorldViewProjection", &mWorldViewProjection );

Вместо этого метод, например GetParameterByName , должен использоваться для хранения дескриптора параметра, который затем используется для передачи переменных в эффект.

 

Константы в следующей таблице не определены по умолчанию и должны быть определены разработчиком.

Препроцессор эффектов #define Description
D3DXFX_LARGEADDRESS_HANDLE Определите это значение перед включением d3dx9.h, чтобы приложение не скомпилировало при попытке передать строки в параметры D3DXHANDLE. Это поможет убедиться, что в среду выполнения передаются допустимые сведения.
Флаги компоновщика эффектов Description
LARGE_ADDRESS_AWARE Установка флага компоновщика LARGE_ADDRESS_AWARE = 1 позволит приложению выделять ресурсы после ограничения адреса 2 ГБ при необходимости.

 

Система эффектов использует блоки состояния для автоматического сохранения и восстановления состояния. Дополнительные сведения о блоках состояния см. в разделе "Сохранение и восстановление состояния" (Direct3D 9).

Константы эффектов