Aracılığıyla paylaş


D3DXFX

Efekt kaydetme ve oluşturma seçenekleri.

Aşağıdaki tabloda yer alan sabitler d3dx9effect.h dosyasında tanımlanmıştır.

Efekt Durumu Kaydetme ve Geri Yükleme Bayrakları Açıklama
D3DXFX_DONOTSAVESTATE Endçağrılırken Begin veya geri yüklenirken durum kaydedilmez.
D3DXFX_DONOTSAVESAMPLERSTATE stateblock, Begin çağrılırken durumu kaydeder ve Endçağrılırken durumu geri yükler.
D3DXFX_DONOTSAVESHADERSTATE Stateblock, Begin çağrısı yaparken durumu kaydeder (gölgelendiriciler ve gölgelendirici sabitleri hariç) ve Endçağrılırken durumu geri yükler.
Efekt Oluşturma Bayrakları Açıklama
D3DXFX_NOT_CLONEABLE Etki kopyalanamaz ve gölgelendirici ikili verileri içermez. GetPassDesc gölgelendirici işlev işaretçileri döndürmez. Bu bayrağın ayarlanması, efekt sisteminin gölgelendiricilerin bir kopyasını bellekte tutma gereksinimini ortadan kaldırdığından, efekt belleği kullanımını yaklaşık 50% azaltır. Bu bayrak D3DXCreateEffect, D3DXCreateEffectFromFileve D3DXCreateEffectFromResourcetarafından kullanılır.
D3DXFX_LARGEADDRESSAWARE Bir efekt kaynağının bir makinenin uppder adres alanına ayrılmasını sağlar. Önemli bir sınırlama, dizeleri ve işlemeleri birbirinin yerine kullanamazsınız. Örneğin, aşağıdakiler artık çalışmaz.
g_pEffect->SetMatrix( "g_mWorldViewProjection", &mWorldViewProjection );

Bunun yerine, GetParameterByName gibi bir yöntem parametresinin tutamacını depolamak için kullanılmalıdır. Bu yöntem, değişkenleri efekte geçirmek için kullanılır.

 

Aşağıdaki tablodaki sabitler varsayılan olarak tanımlanmaz ve geliştirici tarafından tanımlanmalıdır.

Efekt Önişlemci #define Açıklama
D3DXFX_LARGEADDRESS_HANDLE D3dx9.h'yi eklemeden önce bu değeri tanımlayın, böylece dizeleri D3DXHANDLE parametrelere geçirmeye çalışırken uygulamanızın derlenmesi başarısız olur. Bu, çalışma zamanına geçerli bilgilerin geçirildiğinden emin olmaya yardımcı olur.
Efekt Bağlayıcı Bayrakları Açıklama
LARGE_ADDRESS_AWARE Bağlayıcı bayrağının LARGE_ADDRESS_AWARE = 1 olarak ayarlanması, uygulamanın gerektiğinde 2 GB adres sınırını aşan kaynakları ayırmasına olanak sağlar.

 

Efekt sistemi, durumu otomatik olarak kaydetmek ve geri yüklemek için durum bloklarını kullanır. Durum blokları hakkında daha fazla bilgi için bkz. Durum Blokları Kaydetme ve Geri Yükleme Durumu (Direct3D 9).

Efekt Sabitleri