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.

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.

Perangkat Direct3D