Perbedaan antara Game Engine vs Physics Engine vs Kernel pemodelan geometris

"Mesin rendering menghasilkan grafik 3D animasi dengan salah satu dari sejumlah metode (rasterisasi, ray-tracing, dll.).

Alih-alih diprogram dan dikompilasi untuk dieksekusi pada CPU atau GPU secara langsung, paling sering mesin rendering dibangun di atas satu atau beberapa antarmuka pemrograman aplikasi (API), seperti Direct3D, OpenGL, atau Vulkan yang menyediakan abstraksi perangkat lunak dari grafik. unit pemrosesan (GPU). Pustaka tingkat rendah seperti DirectX, Simple DirectMedia Layer (SDL), dan OpenGL juga biasa digunakan dalam game karena menyediakan akses yang tidak bergantung pada perangkat keras ke perangkat keras komputer lain seperti perangkat input (mouse, keyboard, dan joystick), kartu jaringan, dan kartu suara." - Mesin Game

UNISURF adalah perintis sistem CAD/CAM permukaan, yang dirancang untuk membantu desain dan perkakas bodi mobil. Sistem ini dikembangkan oleh insinyur Prancis Pierre Bézier untuk Renault pada tahun 1968, dan mulai digunakan sepenuhnya di perusahaan tersebut pada tahun 1975.[1][2] Pada tahun 1999, sekitar 1.500 karyawan Renault memanfaatkan UNISURF untuk desain dan manufaktur mobil." Kemunculan Sistem CAD/CAM

"Kernel pemodelan geometris adalah komponen perangkat lunak pemodelan padat 3D yang digunakan dalam paket desain berbantuan komputer" Kernel Pemodelan Geometris

Saya kesulitan memahami arsitektur yang mendasari geometric modeling kernels dibandingkan dengan game engines dan physics engines.

Pertanyaan:

  1. Apakah saya memahaminya dengan benar, bahwa kernel pemodelan geometris, sebenarnya adalah API tingkat rendah, lebih khusus lagi, kernel loadable extensions, yang digunakan secara khusus untuk menangani rendering operasi geometris, seperti membuat representasi batas suatu objek di layar?

  2. Apa perbedaan geometric modeling kernels dengan API turunan OpenGL? Apakah mereka juga ditulis dalam C++, atau bahasa yang lebih tua, karena, menurut saya, mereka sudah muncul lebih awal?

  3. Apakah saya memahami dengan benar, bahwa kernel pemodelan geometris, seperti ACIS, Parasolid terus menggunakan modul tingkat rendah milik sendiri, bukan OpenCL/OpenGL, atau semacam campuran?

  4. Apa arsitektur mesin fisika, dalam kaitannya dengan API. Apakah menggunakan OpenGL atau API grafis tingkat rendah turunan lainnya? Katakanlah, Havoc, apakah ia mengandalkan API tingkat rendah lainnya, misalnya Direct3D?


person readonly    schedule 29.05.2020    source sumber


Jawaban (1)


Kernel pemodelan geometris adalah kernel pemodelan, yang memungkinkan membangun atau memodifikasi geometri dan tidak ada hubungannya dengan menampilkan geometri ini di layar. Ini juga berbeda dari aplikasi pemahatan model, karena yang terakhir digunakan oleh seniman, sedangkan kernel pemodelan digunakan oleh para insinyur, dan karenanya, memiliki masukan yang sangat berbeda, bahkan ketika membuat model yang serupa secara visual.

Kernel pemodelan modern biasanya disertai dengan renderer 3D untuk menampilkan model. Namun fungsi ini biasanya dimasukkan ke dalam komponen khusus dalam kerangka kerja. Platform hanya memiliki kumpulan pustaka grafis akselerasi perangkat keras yang terbatas seperti OpenGL, Vulkan dan Direct3D, sehingga mesin grafis 3D yang dilengkapi dengan kernel pemodelan biasanya bergantung pada salah satu pustaka tingkat rendah. Secara historis, OpenGL digunakan oleh sebagian besar aplikasi industri (berbeda dengan Game), namun hal ini mungkin tidak sama saat ini.

Bahasa penulisan kernel pemodelan mungkin berbeda, tetapi saya yakin sebagian besar ditulis dalam C++. Karena kernel pemodelan mulai ditulis di masa lalu, mereka mungkin mewarisi beberapa bahasa perantara, seperti CDL di OCCT (sisa-sisa telah dihapus sejak OCCT 7.0.0) atau kode yang berasal dari bahasa lain (seperti dari FORTRAN, yang populer di masa lalu) - kernel pemodelan kemungkinan besar tidak menggunakan bahasa-bahasa ini, tetapi mungkin diketahui dari kode sumber, bahwa kode C++ dari beberapa algoritme dikonversi dari FORTRAN pada beberapa langkah (tetapi tentu saja, Anda tidak dapat memeriksa poin ini dengan kernel berpemilik) .

Jika Anda melihat struktur komponen Teknologi Open CASCADE, sebuah peluang terbuka sumber kernel pemodelan padat, Anda akan menemukan bahwa komponen Visualisasi mengimplementasikan layanan interaktif untuk menampilkan model menggunakan OpenGL atau pustaka grafis tingkat rendah lainnya, namun aplikasi berbasis OCCT tidak harus menggunakannya, dan mungkin mempertimbangkan untuk menampilkannya bentuk menggunakan perpustakaan lain.

Dalam upaya untuk menggeneralisasi:

  • Mesin grafis mengimplementasikan layanan untuk merender geometri yang ada dan diimplementasikan di atas API tingkat rendah seperti OpenGL. Ini termasuk penerapan model bayangan/material (Phong, kekasaran logam PBR), definisi Kamera, dan banyak alat lainnya, yang tidak dilengkapi dengan API tingkat rendah.
  • Kernel pemodelan geometris mengimplementasikan struktur data (seperti Representasi Batas atau CSG), matematika kompleks untuk konstruksi model oleh para insinyur (termasuk primitif, fillet, operasi Boolean) pada geometri eksak yang diwakili oleh B-Splines dan sejenisnya (berbeda dengan alat berorientasi seniman yang biasanya bekerja pada geometri poligonal). Kerangka kerja ini mungkin menyediakan alat lain, termasuk mesin grafis, tetapi biasanya terpisah dari kernel geometri. Mesin grafis biasanya tidak bekerja secara langsung dengan geometri B-Spline, sehingga kernel pemodelan Geometri harus menghasilkan triangulasi untuk merender geometri.
  • Mesin fisika hanya mengimplementasikan layanan yang terkait dengan simulasi fisika. Mesin fisika mencakup modul deteksi tabrakan. Proyek ini mungkin juga berisi sampel menggunakan beberapa perpustakaan grafis, tetapi kernel tidak boleh bergantung pada apa pun.
  • Mesin permainan menggabungkan mesin Grafis, mesin Fisika, mesin Audio, dan biasanya juga menyediakan beberapa bahasa scripting dan alat lain untuk menyederhanakan pengembangan game.

Komponen OCCT

Penampil 3D OCCT

person gkv311    schedule 29.05.2020