Perangkat Direct3D (Direct3D 9)

Perangkat Direct3D adalah komponen penyajian Direct3D. Ini merangkum dan menyimpan status penyajian. Selain itu, perangkat Direct3D melakukan transformasi dan operasi pencahayaan dan mem-rasterisasi gambar ke permukaan.

Secara arsitektur, perangkat Direct3D berisi modul transformasi, modul pencahayaan, dan modul rasterisasi, seperti yang ditunjukkan diagram berikut.

diagram arsitektur perangkat direct3d

Direct3D saat ini mendukung dua jenis utama perangkat Direct3D:

  • Perangkat hal dengan rasterisasi dan bayangan yang dipercepat perangkat keras dengan pemrosesan vertex perangkat keras dan perangkat lunak
  • Perangkat referensi

Anda dapat menganggap perangkat ini sebagai dua driver terpisah. Perangkat lunak dan referensi diwakili oleh driver perangkat lunak, dan perangkat hal diwakili oleh driver perangkat keras. Cara paling umum untuk memanfaatkan perangkat ini adalah dengan menggunakan perangkat hal untuk aplikasi pengiriman, dan perangkat referensi untuk pengujian fitur. Ini disediakan oleh pihak ketiga untuk meniru perangkat tertentu - misalnya, perangkat keras pengembangan yang belum dirilis.

Perangkat Direct3D yang dibuat aplikasi harus sesuai dengan kemampuan perangkat keras tempat aplikasi berjalan. Direct3D menyediakan kemampuan penyajian, baik dengan mengakses perangkat keras 3D yang diinstal di komputer atau dengan menimulasi kemampuan perangkat keras 3D dalam perangkat lunak. Oleh karena itu, Direct3D menyediakan perangkat untuk akses perangkat keras dan emulasi perangkat lunak.

Perangkat yang dipercepat perangkat keras memberikan performa yang jauh lebih baik daripada perangkat perangkat lunak. Jenis perangkat hal tersedia di semua adaptor grafis yang didukung Direct3D. Dalam kebanyakan kasus, aplikasi menargetkan komputer yang memiliki akselerasi perangkat keras dan mengandalkan emulasi perangkat lunak untuk mengakomodasi komputer kelas bawah.

Dengan pengecualian perangkat referensi, perangkat perangkat lunak tidak selalu mendukung fitur yang sama dengan perangkat keras. Aplikasi harus selalu mengkueri kemampuan perangkat untuk menentukan fitur mana yang didukung.

Karena perilaku perangkat lunak dan perangkat referensi yang disediakan dengan Direct3D 9 identik dengan perangkat hal, kode aplikasi yang ditulis untuk bekerja dengan perangkat hal akan berfungsi dengan perangkat lunak atau perangkat referensi tanpa modifikasi. Perhatikan bahwa meskipun perilaku perangkat lunak atau referensi yang disediakan identik dengan perangkat hal, kemampuan perangkat bervariasi, dan perangkat perangkat lunak tertentu dapat menerapkan serangkaian kemampuan yang jauh lebih kecil.

Perilaku

Direct3D memungkinkan Anda menentukan perilaku perangkat, serta jenis perangkat. Metode IDirect3D9::CreateDevice memungkinkan kombinasi satu atau beberapa bendera perilaku untuk mengontrol perilaku global perangkat Direct3D. Perilaku ini menentukan apa yang dan tidak dipertahankan dalam bagian run-time Direct3D, dan jenis perangkat menentukan driver mana yang akan digunakan. Meskipun beberapa kombinasi perilaku perangkat tidak valid, dimungkinkan untuk menggunakan semua perilaku perangkat dengan semua jenis perangkat. Misalnya, valid untuk menentukan D3DDEVTYPE_SW pada perangkat yang dibuat dengan D3DCREATE_PUREDEVICE.

Memulai