Udostępnij za pośrednictwem


D3DXFX

Opcje zapisywania i tworzenia efektów.

Stałe w poniższej tabeli są zdefiniowane w pliku d3dx9effect.h.

Flagi zapisywania i przywracania stanu efektu Opis
D3DXFX_DONOTSAVESTATE Podczas wywoływania Rozpoczynanie lub przywracanie podczas wywoływaniaendnie jest zapisywany stan .
D3DXFX_DONOTSAVESAMPLERSTATE Blok stanu zapisuje stan podczas wywoływania Rozpoczynanie i przywraca stan podczas wywoływania End.
D3DXFX_DONOTSAVESHADERSTATE Blok stanu zapisuje stan (z wyjątkiem cieniowania i stałych cieniowania) podczas wywoływania Rozpocznij i przywraca stan podczas wywoływania Koniec.
Flagi tworzenia efektu Opis
D3DXFX_NOT_CLONEABLE Efekt będzie nie sklonowalny i nie będzie zawierać żadnych danych binarnych cieniowania. GetPassDesc nie zwróci wskaźników funkcji cieniowania. Ustawienie tej flagi zmniejsza użycie pamięci o około 50%, ponieważ eliminuje potrzebę zachowania kopii cieniowania w pamięci przez system efektu. Ta flaga jest używana przez D3DXCreateEffect, D3DXCreateEffectFromFilei D3DXCreateEffectFromResource.
D3DXFX_LARGEADDRESSAWARE Umożliwia przydzielanie zasobu efektu do przestrzeni adresowej uppder maszyny. Jednym z ważnych ograniczeń jest to, że nie można używać ciągów i obsługiwać zamiennie. Na przykład następujące polecenie nie będzie już działać.
g_pEffect->SetMatrix( "g_mWorldViewProjection", &mWorldViewProjection );

Zamiast tego należy użyć metody, takiej jak GetParameterByName do przechowywania uchwytu parametru, który jest następnie używany do przekazywania zmiennych do efektu.

 

Stałe w poniższej tabeli nie są definiowane domyślnie i muszą być zdefiniowane przez dewelopera.

Preprocesor efektu #define Opis
D3DXFX_LARGEADDRESS_HANDLE Zdefiniuj tę wartość przed dołączeniem d3dx9.h, aby nie można było skompilować aplikacji podczas próby przekazania ciągów do parametrów D3DXHANDLE. Pomoże to w upewnieniu się, że prawidłowe informacje są przekazywane do środowiska uruchomieniowego.
Flagi konsolidatora efektów Opis
LARGE_ADDRESS_AWARE Ustawienie flagi konsolidatora LARGE_ADDRESS_AWARE = 1 umożliwi aplikacji przydzielenie zasobów poza limitem adresu 2 GB w razie potrzeby.

 

System efektu używa bloków stanu do automatycznego zapisywania i przywracania stanu. Aby uzyskać więcej informacji na temat bloków stanu, zobacz State Block Save and Restore State (Direct3D 9).

stałe efektu