D3DUSAGE
Opsi penggunaan yang mengidentifikasi bagaimana sumber daya akan digunakan.
Tabel berikut ini meringkas opsi penggunaan yang tersedia.
Terus-menerus | Deskripsi |
---|---|
|
Sumber daya akan secara otomatis menghasilkan mipmap. Lihat Generasi Otomatis Mipmaps (Direct3D 9). Pembuatan mipmap otomatis tidak didukung untuk tekstur volume dan permukaan/tekstur stensil kedalaman. Penggunaan ini tidak valid untuk sumber daya dalam memori sistem (D3DPOOL_SYSTEMMEM). |
|
Sumber daya akan menjadi buffer stensil yang mendalam.
D3DUSAGE_DEPTHSTENCIL hanya dapat digunakan dengan D3DPOOL_DEFAULT. |
|
Sumber daya akan menjadi peta perpindahan. |
|
Atur untuk menunjukkan bahwa konten buffer vertex tidak akan pernah memerlukan kliping. Saat merender dengan buffer yang memiliki bendera ini diatur, status render D3DRS_CLIPPING harus diatur ke false. |
|
Atur ke menunjukkan bahwa buffer vertex memerlukan penggunaan memori dinamis. Ini berguna untuk driver karena memungkinkan mereka untuk memutuskan di mana menempatkan buffer. Secara umum, buffer vertex statis ditempatkan dalam memori video dan buffer vertex dinamis ditempatkan dalam memori AGP. Perhatikan bahwa tidak ada penggunaan statis terpisah. Jika Anda tidak menentukan D3DUSAGE_DYNAMIC, buffer vertex dibuat statis.
D3DUSAGE_DYNAMIC diberlakukan secara ketat melalui bendera penguncian D3DLOCK_DISCARD dan D3DLOCK_NOOVERWRITE . Akibatnya, D3DLOCK_DISCARD dan D3DLOCK_NOOVERWRITE hanya berlaku pada buffer vertex yang dibuat dengan D3DUSAGE_DYNAMIC. Mereka bukan bendera yang valid pada buffer vertex statis. Untuk informasi selengkapnya, lihat Mengelola Sumber Daya (Direct3D 9). Untuk informasi selengkapnya tentang menggunakan buffer vertex dinamis, lihat Pengoptimalan Performa (Direct3D 9). D3DUSAGE_DYNAMIC dan D3DPOOL_MANAGED tidak kompatibel dan tidak boleh digunakan bersama-sama. Lihat D3DPOOL. Tekstur dapat menentukan D3DUSAGE_DYNAMIC. Namun, tekstur terkelola tidak dapat menggunakan D3DUSAGE_DYNAMIC. Untuk informasi selengkapnya tentang tekstur dinamis, lihat Menggunakan Tekstur Dinamis. |
|
Izinkan permukaan bersama yang dibuat oleh aplikasi aman dibuka oleh aplikasi yang tidak aman yang memiliki handel bersama. Perbedaan antara Direct3D 9 dan Direct3D 9Ex: Bendera ini hanya tersedia di Direct3D 9Ex. |
|
Atur ke menunjukkan bahwa buffer vertex akan digunakan untuk menggambar N-patch. |
|
Atur ke menunjukkan bahwa puncak atau buffer indeks akan digunakan untuk sprite titik gambar. Buffer akan dimuat dalam memori sistem jika pemrosesan vertex perangkat lunak diperlukan untuk meniru sprite titik. |
|
Sumber daya akan menjadi target render.
D3DUSAGE_RENDERTARGET hanya dapat digunakan dengan D3DPOOL_DEFAULT. |
|
Atur ke menunjukkan bahwa buffer vertex akan digunakan untuk menggambar primitif berurutan tinggi. |
|
Jika bendera ini digunakan, pemrosesan vertex dilakukan dalam perangkat lunak. Jika bendera ini tidak digunakan, pemrosesan vertex dilakukan dalam perangkat keras. Bendera D3DUSAGE_SOFTWAREPROCESSING dapat diatur saat pemrosesan vertex perangkat lunak atau mode campuran (D3DCREATE_MIXED_VERTEXPROCESSING / D3DCREATE_SOFTWARE_VERTEXPROCESSING) diaktifkan untuk perangkat tersebut. D3DUSAGE_SOFTWAREPROCESSING harus diatur agar buffer digunakan dengan pemrosesan puncak perangkat lunak dalam mode campuran, tetapi tidak boleh diatur untuk performa terbaik saat menggunakan pemrosesan indeks perangkat keras dalam mode campuran (D3DCREATE_HARDWARE_VERTEXPROCESSING). Namun, mengatur D3DUSAGE_SOFTWAREPROCESSING adalah satu-satunya opsi ketika satu buffer digunakan dengan pemrosesan vertex perangkat keras dan perangkat lunak. D3DUSAGE_SOFTWAREPROCESSING diperbolehkan untuk perangkat campuran dan perangkat lunak. D3DUSAGE_SOFTWAREPROCESSING digunakan dengan CheckDeviceFormat untuk mengetahui apakah format tekstur tertentu dapat digunakan sebagai tekstur puncak selama pemrosesan puncak perangkat lunak. Jika bisa, tekstur harus dibuat dalam D3DPOOL_SCRATCH. |
|
Bendera penggunaan ini harus ditentukan untuk buffer vertex dan permukaan sumber, yang digunakan dalam panggilan ke ComposeRects. Ekstur T yang dibuat dengan bendera penggunaan ini tidak dapat digunakan untuk pemfilteran tekstur. Buffer puncak, dibuat dengan bendera penggunaan ini, tidak dapat digunakan sebagai sumber aliran input. Perbedaan antara Direct3D 9 dan Direct3D 9Ex: Bendera ini hanya tersedia di Direct3D 9Ex. |
|
Menginformasikan sistem bahwa aplikasi hanya menulis ke buffer vertex. Menggunakan bendera ini memungkinkan driver untuk memilih lokasi memori terbaik untuk operasi tulis dan penyajian yang efisien. Upaya untuk membaca dari buffer vertex yang dibuat dengan kemampuan ini akan gagal. Buffer yang dibuat dengan D3DPOOL_DEFAULT yang tidak menentukan D3DUSAGE_WRITEONLY mungkin mengalami penalti performa yang parah.
D3DUSAGE_WRITEONLY hanya memengaruhi performa buffer D3DPOOL_DEFAULT . |
|
Mengatur bendera ini menunjukkan bahwa sumber daya mungkin berisi konten yang dilindungi. Perbedaan antara Direct3D 9 dan Direct3D 9Ex: Bendera ini hanya tersedia di Direct3D 9Ex. |
|
Mengatur bendera ini menunjukkan bahwa akses ke sumber daya bersama harus dibatasi. Perbedaan antara Direct3D 9 dan Direct3D 9Ex: Bendera ini hanya tersedia di Direct3D 9Ex. |
|
Mengatur bendera ini menunjukkan bahwa driver harus membatasi akses ke sumber daya bersama. Pemanggil harus membuat saluran terautentikasi dengan driver. Driver kemudian harus mengizinkan akses ke proses yang mencoba membuka sumber daya bersama tersebut. Perbedaan antara Direct3D 9 dan Direct3D 9Ex: Bendera ini hanya tersedia di Direct3D 9Ex. |
Keterangan
Kombinasi Penggunaan dan Sumber Daya
Penggunaan ditentukan saat sumber daya dibuat, atau ditentukan dengan CheckDeviceType untuk menguji kemampuan sumber daya yang ada. Tabel berikut mengidentifikasi penggunaan mana yang dapat diterapkan ke jenis sumber daya mana.
Penggunaan | Pembuatan buffer vertex | Pembuatan buffer indeks | Pembuatan tekstur | Pembuatan tekstur kubus | Pembuatan tekstur volume | Pembuatan permukaan | Memeriksa format perangkat |
---|---|---|---|---|---|---|---|
D3DUSAGE_AUTOGENMIPMAP | x | x | x | ||||
D3DUSAGE_DEPTHSTENCIL | x | x | x | x | |||
D3DUSAGE_DMAP | x | x | |||||
D3DUSAGE_DONOTCLIP | x | x | |||||
D3DUSAGE_DYNAMIC | x | x | x | x | x | x | |
D3DUSAGE_NONSECURE | x | x | x | x | x | x | x |
D3DUSAGE_NPATCHES | x | x | |||||
D3DUSAGE_POINTS | x | x | |||||
D3DUSAGE_RTPATCHES | x | x | |||||
D3DUSAGE_RENDERTARGET | x | x | x | x | |||
D3DUSAGE_SOFTWAREPROCESSING | x | x | x | x | x | x | |
D3DUSAGE_TEXTAPI | x | x | |||||
D3DUSAGE_WRITEONLY | x | x |
Gunakan CheckDeviceFormat untuk memeriksa dukungan perangkat keras untuk penggunaan ini.
Masing-masing metode pembuatan sumber daya tercantum di sini.
- CreateCubeTexture
- CreateDepthStencilSurface
- CreateIndexBuffer
- CreateOffscreenPlainSurface
- CreateRenderTarget
- CreateTexture
- CreateVertexBuffer
- CreateVolumeTexture
Fungsi teksuring D3DXCreatexxx juga menggunakan beberapa nilai konstanta ini untuk pembuatan sumber daya.
Untuk informasi selengkapnya tentang jenis kumpulan dan pembatasannya dengan penggunaan tertentu, lihat D3DPOOL.
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|
Lihat juga