Babylon.js 9.0: pencahayaan terklaster, partikel berbasis node, dan perombakan gaussian splatting
Babylon.js 9.0 telah dirilis, dan ini merupakan rilis terbesar yang pernah diluncurkan oleh engine WebGPU/WebGL sumber terbuka tersebut. Fitur utamanya adalah sistem pencahayaan terklaster yang memungkinkan adegan merender ratusan atau ribuan cahaya dinamis dengan frame rate yang mulus, baik di WebGPU maupun WebGL 2.
Node Particle Editor baru di Babylon.js 9.0
Pencahayaan terklaster mengubah segalanya
Pencahayaan per piksel tradisional memaksa setiap piksel menghitung kontribusi dari setiap cahaya dalam adegan, bahkan cahaya yang sama sekali tidak berada di dekatnya. Pencahayaan terklaster mengatasinya dengan mengelompokkan cahaya ke dalam petak ruang layar dan irisan kedalaman. Saat rendering, setiap piksel hanya mengevaluasi cahaya yang benar-benar memengaruhinya. Hasilnya, adegan dengan 1.000 cahaya dinamis kini dapat berjalan pada frame rate real-time alih-alih tersendat-sendat.
Sistem ini berfungsi di WebGPU dan WebGL 2, sehingga peningkatan performanya dapat menjangkau pengguna seluas mungkin.
Area light bertekstur
Area light diperkenalkan di Babylon.js 8.0. Versi 9.0 menambahkan tekstur emisi, sehingga Anda dapat memproyeksikan gambar apa pun melalui area light berbentuk persegi panjang. Bayangkan proyeksi kaca patri, tampilan panel LED, atau penataan pencahayaan sinematik dengan emisi cahaya yang akurat secara fisik.
Pencahayaan volumetrik
Sistem pencahayaan volumetrik baru merender berkas cahaya melalui kabut, debu, dan halimun. Sistem ini menyertakan parameter ekstingsi dan fase yang dapat dikonfigurasi untuk memberikan kendali artistik atas cara cahaya tersebar di atmosfer. Sistem tersebut mendukung sumber cahaya terarah dan menggunakan compute shader WebGPU jika tersedia, dengan WebGL 2 sebagai fallback.
Node Particle Editor
Node Particle Editor (NPE) adalah alat visual seret-dan-hubungkan untuk membuat sistem partikel. Jika Anda pernah menggunakan Node Material Editor, alur kerjanya sama. Anda mendapatkan kendali penuh atas bentuk emisi, sprite sheet, perilaku pembaruan, dan sub-emitter melalui grafik node non-destruktif. Flow map dan penarik gravitasi melengkapi peningkatan pada sistem partikel.
Perombakan gaussian splatting
Babylon.js memperkenalkan dukungan gaussian splatting di versi 7.0. Versi 9.0 menulis ulang sistem tersebut dengan proyeksi bayangan, triangle splatting untuk rendering menyerupai mesh opak, serta dukungan untuk format SOG/SOGS terkompresi di samping berkas .splat, .ply, dan .spz. Kini Anda dapat menggabungkan beberapa aset splat dalam satu adegan dengan pengurutan global, dan setiap bagiannya dapat ditransformasi serta dianimasikan secara independen. Adobe turut berkontribusi dalam pengembangan ini.
Sistem Frame Graph
Frame Graph, yang diperkenalkan sebagai fitur alfa di versi 8.0, mencapai v1 dalam rilis ini. Sistem ini merupakan graf asiklik terarah dengan setiap node mewakili sebuah tugas rendering. Sistem tersebut mengelola alokasi, penggunaan kembali, dan pengoptimalan tekstur secara otomatis. Tim pengembang melaporkan penghematan memori GPU sebesar 40% atau lebih dalam beberapa kasus. Anda dapat menyusun pipeline rendering khusus secara visual melalui Node Render Graph Editor atau secara terprogram melalui framework kelas.
Penambahan lainnya
Retargeting animasi memungkinkan Anda menerapkan animasi dari satu kerangka karakter ke kerangka lainnya, meskipun struktur tulang dan konvensi penamaannya berbeda. Rilis ini juga mencakup inspector yang dibuat ulang, rendering dunia berskala besar untuk mencegah jitter floating-point dalam sistem koordinat besar, serta kemampuan rendering geospasial.