D3DXFX
儲存和建立效果的選項。
下表中的常數定義于 d3dx9effect.h 中。
效果狀態儲存和還原旗標 | 描述 | |
D3DXFX_DONOTSAVESTATE | 呼叫 Begin 或還原呼叫 End 時,不會儲存狀態。 | |
D3DXFX_DONOTSAVESAMPLERSTATE | stateblock 會在呼叫 Begin 時儲存狀態,並在呼叫 End 時還原狀態。 | |
D3DXFX_DONOTSAVESHADERSTATE | stateblock 會在呼叫 Begin 時儲存狀態(除了著色器和著色器常數外),並在呼叫 End 時還原狀態。 | |
效果建立旗標 | 描述 | |
D3DXFX_NOT_CLONEABLE | 效果將是不可複製的,而且不會包含任何著色器二進位資料。 GetPassDesc 不會傳回著色器函式指標。 設定此旗標可減少約 50% 的效果記憶體使用量,因為它不需要讓效果系統將著色器複本保留在記憶體中。 D3DXCreateEffect 、 D3DXCreateEffectFromFile 和 D3DXCreateEffectFromResource 會使用此 旗標。 | |
D3DXFX_LARGEADDRESSAWARE | 啟用將效果資源配置到機器的 uppder 位址空間。 其中一個重要限制是您無法使用字串並交替處理。 例如,下列專案將無法再運作。
相反地,GetParameterByName 之類的 方法必須用來儲存參數的控制碼,然後用來將變數傳遞至效果。 |
下表中的常數預設不會定義,而且必須由開發人員定義。
效果預處理器 #define | 描述 |
---|---|
D3DXFX_LARGEADDRESS_HANDLE | 在包含 d3dx9.h 之前定義此值,讓應用程式在嘗試將字串傳遞至D3DXHANDLE參數時無法編譯。 這可協助確保有效的資訊會傳遞至執行時間。 |
效果連結器旗標 | 描述 |
LARGE_ADDRESS_AWARE | 設定連結器旗標LARGE_ADDRESS_AWARE = 1 可讓應用程式在需要時配置超過 2GB 位址限制的資源。 |
效果系統會使用狀態欄塊自動儲存和還原狀態。 如需狀態欄塊的詳細資訊,請參閱 狀態欄塊儲存和還原狀態(Direct3D 9)。