- Terintegrasi dengan pipeline rendering THREE.js untuk menampilkan objek berbasis splat dan mesh secara bersamaan
- Memiliki portabilitas yang sangat baik dan berjalan di hampir semua perangkat (dukungan WebGL2 di atas 98%)
- Memberikan performa rendering yang cepat bahkan pada perangkat seluler kelas bawah
- Mendukung rendering beberapa objek splat sekaligus dan menangani pengurutan dengan benar
- Mendukung sebagian besar format file splat utama seperti .PLY (termasuk kompresi), .SPZ, .SPLAT, .KSPLAT
- Mendukung fitur rendering simultan dari beberapa sudut pandang
- Pengeditan dinamis: setiap objek splat dapat ditransformasikan dan dianimasikan secara terpisah
- Mendukung pengeditan warna real-time, displacement, dan animasi skeleton
- Dengan sistem shader graph, splat dapat dibuat/diedit secara dinamis di GPU
1 komentar
Opini Hacker News
Demo ini terasa sangat mengesankan, dan berjalan baik bahkan di iPhone lamaku
Sebagai pengembang game hobi yang tidak punya banyak pengetahuan 3D profesional, kalau boleh memberi masukan, sepertinya akan bagus jika ada penjelasan satu baris tentang apa itu “Gaussian Splatting” di GitHub atau di suatu bagian situs web
Aku jadi jauh lebih tertarik dan bisa melihat potensinya setelah membaca penjelasan satu baris dari Wikipedia
Gaussian Splatting adalah teknik volume rendering yang merender data volumetrik secara langsung tanpa mengubahnya menjadi surface atau line primitive
Sangat keren karena ini bisa dipakai untuk membuat awan, api, asap, dan sebagainya dengan performa tinggi
Saya jadi berpikir bahwa FAQ memang harus ditambahkan
Demo pemindaian makanan (contoh “Interactivity”) sangat mengejutkan
Terutama melihat ke dalam lubang roti pada Mel's Steak Sandwich sangat berkesan
Bahkan dengan grafis terintegrasi di laptopku, performanya tetap sangat bagus dibanding detail yang ditampilkan
Aku penasaran, teknologi seperti ini saat ini terutama dipakai di mana
Ada komunitas yang memindai objek kecil menggunakan perangkat genggam atau drone
Untuk demo ini, Tipatat menyediakan pemindaian makanan
Saya juga suka pemindaian bunga karya kotohibi
https://superspl.at/user?id=kotohibi
Dengan tingkat detail seperti ini, ukuran data yang ditransfer ternyata tidak terlalu besar
Sekitar 80MB, jadi benar-benar menarik
Sangat keren
BabylonJS juga mendukung Gaussian Splat dengan baik
https://doc.babylonjs.com/features/featuresDeepDive/mesh/gaussianSplatting
Aframe adalah proyek yang lebih baru dan lebih fokus ke game serta VR
Dari sudut pandang pengguna yang sudah memakai Babylon, Aframe, Three.js, dan PlayCanvas, aku penasaran bagaimana perbandingannya
PlayCanvas memang komersial, tetapi paling matang, paling kaya fitur, dan performanya juga sangat bagus
Babylon adalah engine 3D yang berorientasi fitur, sementara Three.js hanya menyediakan dasar-dasarnya
Dukungan animasi dan teksturnya memang bagus, tetapi pada akhirnya kita tetap perlu membangun toolkit sendiri
Aku penasaran dengan pengalaman baik maupun kurang baik di engine-engine ini
Demo OP benar-benar solid
Aku penasaran apa keunggulan dan nilai jual Aframe
Aku juga penasaran bagaimana masa depan Gaussian Splatting akan berkembang, apakah bukan hanya untuk visualisasi sederhana/digital twin, tetapi juga apakah pengeditan dan animasi akan segera memungkinkan di bidang kreatif atau game
Aframe GitHub
PlayCanvas
Kerja yang bagus
Tetapi kombinasi Nvidia RTX A3000 GPU di laptopku dan Firefox memberikan performa yang sangat buruk
Dengan jumlah shader core seperti itu, sampai bisa terasa panas sekali di tangan
Aku penasaran apakah Gaussian Splats seperti grass, bushes, dirt bisa ditangkap sambil berlari-lari membawa ponsel
Misalnya memilih patch tanah persegi 1 meter, atau ruang kubus 1 meter yang berisi semak
Lalu mengulang penempatan blok rumput dan mencampur semak atau tanah di antaranya untuk membuat dunia bergaya "Minecraft"
Sepertinya untuk merender ribuan blok akan butuh perangkat keras yang cukup kuat
Rasanya akan sangat keren kalau bisa melihatnya langsung
Sangat keren
Apakah ada insight tentang bottleneck performa saat ini
Terutama bottleneck di scene dinamis yang membuatku penasaran
Contoh simulasi partikel terasa tersendat, tetapi saat kamera diputar performanya tiba-tiba jauh lebih baik
Ini seolah berarti bagian latar belakang statis ternyata lebih berat dari perkiraan, tetapi terlepas dari itu, piramida Sierpinski yang dibuat secara prosedural benar-benar mengesankan
Mungkin juga karena penanya memutar kamera ke arah yang kurang kompleks
Menjaga performa tetap konsisten masih merupakan pekerjaan yang belum selesai
Ke depannya kami berencana menerapkan sistem LOD
Sedikit arahan link repo yang lebih menonjol
https://github.com/sparkjsdev/spark
Aku masih skeptis apakah Gaussian Splatting bisa lebih dari sekadar demo
Ukuran filenya terlalu besar
Misalnya steak sandwich itu 12MB
Tahun lalu di SIGGRAPH aku melihat klon port Matterport berbasis Gaussian Splat, dan perlu streaming 1.5GB hanya untuk melihat apartemen 2 kamar tidur
Demo yang keren
Teknik kompresi SOGS cukup efektif
Dengan full Spherical Harmonics, 1M Gaussian bisa disimpan dalam ukuran sekitar 14MB
Ada tulisan bagus terkait ini di blog PlayCanvas
https://blog.playcanvas.com/playcanvas-adopts-sogs-for-20x-3dgs-compression
Sebagai catatan, steak sandwich 12MB itu file terbesar
Sisanya di bawah 10MB, dan beberapa malah sangat meyakinkan di kisaran 1-3MB
(misalnya Iberico Sandwich 1MB, Clams and Caviar 1.8MB, dan sebagainya)
Metode kompresi lanjutan seperti SOGS akan segera hadir
Contoh ini berukuran 30MB
https://vincentwoo.com/3d/sutro_tower/
Alasan utama ukuran file besar adalah karena harus menyimpan koefisien Spherical Harmonics
Ini masalah yang bisa dipecahkan
Nama ini terasa agak terlalu sering dipakai
Sudah ada Apache Spark, SPARK(Ada), sparklines, SPARQL, dan lainnya
https://en.wikipedia.org/wiki/SPARC