Memproses Data Verteks (Direct3D 9)
Antarmuka IDirect3DDevice9 mendukung pemrosesan vertex di perangkat lunak dan perangkat keras. Secara umum, kemampuan perangkat untuk pemrosesan vertex perangkat lunak dan perangkat keras tidak identik. Kemampuan perangkat keras bervariasi, tergantung pada adaptor tampilan dan driver, sementara kemampuan perangkat lunak diperbaiki.
Bendera berikut mengontrol perilaku pemrosesan vertex untuk lapisan abstraksi perangkat keras (HAL) dan perangkat referensi.
- D3DCREATE_SOFTWARE_VERTEXPROCESSING
- D3DCREATE_HARDWARE_VERTEXPROCESSING
- D3DCREATE_MIXED_VERTEXPROCESSING
Tentukan salah satu bendera perilaku pemrosesan puncak saat memanggil IDirect3D9::CreateDevice. Bendera mode campuran memungkinkan perangkat untuk melakukan pemrosesan vertex perangkat lunak dan perangkat keras. Hanya satu bendera pemrosesan puncak yang dapat diatur untuk perangkat kapan saja. Perhatikan bahwa bendera D3DCREATE_HARDWARE_VERTEXPROCESSING diperlukan untuk diatur saat membuat perangkat murni (D3DCREATE_PUREDEVICE).
Untuk menghindari kemampuan pemrosesan verteks ganda pada satu perangkat, hanya kemampuan pemrosesan puncak perangkat keras yang dapat dikueri pada durasi. Kemampuan pemrosesan puncak perangkat lunak diperbaiki dan tidak dapat dikueri pada durasi.
Anggota VertexProcessingCaps dari struktur D3DCAPS9 menentukan kemampuan pemrosesan vertex perangkat keras perangkat.
Untuk pemrosesan puncak perangkat lunak, kemampuan berikut didukung.
- anggota D3DVTXPCAPS_DIRECTIONALLIGHTS D3DVTXPCAPS
- anggota D3DVTXPCAPS_LOCALVIEWER D3DVTXPCAPS
- anggota D3DVTXPCAPS_MATERIALSOURCE7 D3DVTXPCAPS
- anggota D3DVTXPCAPS_POSITIONALLIGHTS D3DVTXPCAPS
- anggota D3DVTXPCAPS_TEXGEN D3DVTXPCAPS
- anggota D3DVTXPCAPS_TWEENING D3DVTXPCAPS
Selain itu, tabel berikut mencantumkan nilai yang ditetapkan untuk anggota struktur D3DCAPS9 untuk perangkat dalam mode pemrosesan puncak perangkat lunak.
Anggota | Kemampuan pemrosesan vertex perangkat lunak |
---|---|
MaxActiveLights | Tak Terbatas |
MaxUserClipPlanes | 6 |
MaxVertexBlendMatrices | 4 |
MaxStreams | 16 |
MaxVertexIndex | 0xFFFFFFFF |
Secara umum, aplikasi apa pun yang terikat pemrosesan puncak harus menggunakan perangkat HAL. Pemrosesan puncak perangkat lunak menyediakan serangkaian kemampuan pemrosesan vertex yang terjamin, termasuk jumlah lampu yang tidak terbatas dan dukungan penuh untuk shader vertex yang dapat diprogram. Anda dapat beralih antara pemrosesan puncak perangkat lunak dan perangkat keras kapan saja saat menggunakan perangkat HAL (yang merupakan satu-satunya jenis perangkat yang mendukung pemrosesan verteks perangkat keras dan perangkat lunak). Satu-satunya persyaratan adalah bahwa buffer vertex yang digunakan untuk pemrosesan puncak perangkat lunak harus dialokasikan dalam memori sistem.
Topik terkait