D3DXFX

Opsi untuk menyimpan dan membuat efek.

Konstanta dalam tabel berikut didefinisikan dalam d3dx9effect.h.

Bendera Simpan dan Pulihkan Status Efek Deskripsi
D3DXFX_DONOTSAVESTATE Tidak ada status yang disimpan saat memanggil Mulai atau dipulihkan saat memanggil Akhir.
D3DXFX_DONOTSAVESAMPLERSTATE Stateblock menyimpan status saat memanggil Mulai dan memulihkan status saat memanggil Akhir.
D3DXFX_DONOTSAVESHADERSTATE Stateblock menyimpan status (kecuali shader dan konstanta shader) saat memanggil Mulai dan memulihkan status saat memanggil Akhir.
Bendera Pembuatan Efek Deskripsi
D3DXFX_NOT_CLONEABLE Efeknya tidak akan dapat dikloning dan tidak akan berisi data biner shader apa pun. GetPassDesc tidak akan mengembalikan penunjuk fungsi shader. Pengaturan bendera ini mengurangi penggunaan memori efek sekitar 50% karena menghilangkan kebutuhan sistem efek untuk menyimpan salinan shader dalam memori. Bendera ini digunakan oleh D3DXCreateEffect, D3DXCreateEffectFromFile, dan D3DXCreateEffectFromResource.
D3DXFX_LARGEADDRESSAWARE Memungkinkan alokasi sumber daya efek ke ruang alamat uppder komputer. Salah satu batasan penting adalah Anda tidak dapat menggunakan string dan menangani secara bergantian. Misalnya, berikut ini tidak akan berfungsi lagi.
g_pEffect->SetMatrix( "g_mWorldViewProjection", &mWorldViewProjection );

Sebagai gantinya, metode seperti GetParameterByName harus digunakan untuk menyimpan handel parameter, yang kemudian digunakan untuk meneruskan variabel ke efek.

 

Konstanta dalam tabel berikut tidak ditentukan secara default dan harus ditentukan oleh pengembang.

#define Preprosektor Efek Deskripsi
D3DXFX_LARGEADDRESS_HANDLE Tentukan nilai ini sebelum menyertakan d3dx9.h sehingga aplikasi Anda gagal dikompilasi saat mencoba meneruskan string ke parameter D3DXHANDLE. Ini akan membantu memastikan bahwa informasi yang valid sedang diteruskan ke runtime.
Bendera Penghubung Efek Deskripsi
LARGE_ADDRESS_AWARE Mengatur bendera linker LARGE_ADDRESS_AWARE = 1 akan memungkinkan aplikasi untuk mengalokasikan sumber daya melewati batas alamat 2GB saat diperlukan.

 

Sistem efek menggunakan blok status untuk menyimpan dan memulihkan status secara otomatis. Untuk informasi selengkapnya tentang blok status, lihat Status Simpan dan Pulihkan Blok Status (Direct3D 9).

Konstanta Efek