- Spark, Three.js sahnelerinde 3D Gaussian Splatting render etmek için geliştirilmiş gelişmiş bir render motorudur
- World Labs tarafından geliştirilmiştir; mevcut sahnelerde diğer mesh’ler ve splat’lerle birlikte konumlandırılabilir
- Tüm cihazlarda hızlı render sunmayı hedefler ve farklı ortamlarda splat içeriğiyle çalışmaya odaklanır
- Programlanabilir dinamik splat efektlerini destekleyerek statik gösterimin ötesinde sahne içinde efektler oluşturmayı sağlar
- ply, sogs, spz, splat, ksplat gibi çeşitli biçimleri destekler; resmi belgelerden hemen başlanabilir
Three.js sahnelerine entegre olan splat render motoru
- Spark, Three.js için bir 3D Gaussian Splatting render motorudur
- World Labs tarafından geliştirilmiştir
- Mevcut Three.js sahnelerine entegre edilerek diğer mesh’ler ve splat’lerle birlikte kullanılabilir
Render özellikleri ve desteklenen biçimler
- Tüm cihazlarda hızlı render sunduğu belirtiliyor
- Programlanabilir dinamik splat efektlerini destekler
- Desteklenen biçimler şunlardır
- ply
- sogs
- spz
- splat
- ksplat
- Başlangıç belgeleri Get started sayfasında sunuluyor
1 yorum
Hacker News yorumları
Demo gerçekten etkileyici ve eski bir iPhone’da bile iyi çalışıyor
3D programlama konusunda fazla bilgisi olmayan hobi amaçlı bir oyun geliştiricisi olarak, GitHub’da ya da web sitesinin bir yerinde Gaussian splattingin ne olduğuna dair tek satırlık bir tanım olsa iyi olurdu
Wikipedia’daki “Gaussian splatting, verileri yüzey ya da çizgi temel öğelerine dönüştürmeden hacim verilerini doğrudan render eden bir hacim render tekniğidir” gibi bir ifade bile projeyi ve kullanım olasılıklarını çok daha heyecan verici kılardı
Yüksek performanslı bulut, ateş, duman gibi şeyler yapılabiliyorsa gerçekten harika olur
Yemek tarama demosu, özellikle “Interactivity” örnek bölümü harika
Mel's Steak Sandwich’te ekmeğin deliklerinin içine bakılan sahne özellikle hoşuma gitti; görünen detay seviyesine kıyasla entegre grafik kartlı bir dizüstünde bile performans şaşırtıcı derecede iyi
Bu tekniğin şu anda en yaygın nerelerde kullanıldığını merak ediyorum
Tipatat demo için bolca yemek taraması sağladı; kotohibi’nin çiçek taramalarını da seviyorum: https://superspl.at/user?id=kotohibi
Alay etmiyorum, gerçekten temiz iş
Bu da güzel; BabylonJS’in de Gaussian splatting desteği gayet iyi: https://doc.babylonjs.com/features/featuresDeepDive/mesh/gau...
Babylon, Aframe, Three.js, PlayCanvas [2] kullanmış biri olarak bunların nasıl karşılaştırıldığını merak ediyorum
Anladığım kadarıyla PlayCanvas en olgun, en çok özellikli ve performansı da iyi olan seçenek; ama ticari. Babylon zengin özellikli bir 3D motoru, Three.js ise epey ham sayılır. Animasyon, texture vb. iyi parçaları var ama sonunda kendi araç setini kendin kuruyormuşsun gibi hissettiriyor
Bunlardan herhangi biriyle iyi ya da kötü deneyimler yaşayan var mı merak ediyorum
Demo gerçekten stabil. Aframe’in temel cazibesi nedir, merak ediyorum
Gaussian splattingin geleceğinin nasıl şekilleneceğini de merak ediyorum. Görselleştirme veya endüstriyel “dijital ikiz” kullanımının ötesine geçip geçmeyeceğini, yakın gelecekte düzenlenebilir ya da animasyonlandırılabilir olup olmayacağını, yaratıcı işler ve oyun alanında ne zaman yararlı hale geleceğini merak ediyorum
[1] https://github.com/aframevr/aframe
[2] https://playcanvas.com/
Depo bağlantısı biraz daha görünür olsun diye burada: https://github.com/sparkjsdev/spark
Çok güzel
Şu anda performans darboğazının nerede olduğunu, özellikle dinamik sahneler tarafında ne gibi içgörüler olduğunu merak ediyorum
Parçacık simülasyonu örneği takılıyor; kamerayı döndürünce belirgin şekilde düzeliyor, statik arka plan göründüğünden çok daha ağır gibi
Öte yandan darboğazdan bağımsız olarak, prosedürel üretilmiş Sierpinski piramidi harika
Muhtemelen kamerayı daha az splat bulunan bir yöne çevirmişsindir
Tutarlı performans için hâlâ yapılacak çok iş var; sırada muhtemelen bir LOD sistemine bakmak olacak
Gaussian splatting’in demo olmanın ötesinde anlamlı olduğuna hâlâ epey şüpheyle yaklaşıyorum
Dosyalar çok büyük. Örneğin tek bir steak sandwich 12MB
Geçen yıl SIGGRAPH’ta Gaussian splatting tabanlı bir Matterport kopyası vardı; 2 odalı bir daireyi görmek için 1.5GB stream etmek gerekiyordu
Demonun kendisi güzel
Diğerleri 10MB’ın altında; oldukça ikna edici olanlardan birkaç tanesi 1–3MB aralığında. Örneğin Iberico Sandwich 1MB, Clams and Caviar 1.8MB
Daha gelişmiş sıkıştırma yöntemleri de geliyor. Örneğin SOGS var. Bu 30MB
https://vincentwoo.com/3d/sutro_tower/
Tüm küresel harmonik katsayılarıyla birlikte 1 milyon Gaussian’ı yaklaşık 14MB’a sığdırabiliyor
PlayCanvas blogunda güzel bir yazı var: https://blog.playcanvas.com/playcanvas-adopts-sogs-for-20x-3...
Çalışma güzel ama Nvidia RTX A3000 GPU’lu dizüstümde Firefox’ta performans epey kötü
Burada birinci derece yanığa yol açmaya yetecek kadar shader çekirdeği var
Telefonu elde taşıyıp dolaşarak çimen, çalı, toprak gibi şeylerin Gaussian splatlerini yakalamak mümkün olur mu
Sonra 1 metrekarelik bir zemin parçası ya da içinde çalı olan 1 metrelik küp bir alan seçip, çimen bloklarını tekrar tekrar döşeyerek ve arada toprak ile çalı karıştırarak “Minecraft gibi görünen” bir dünya oluşturulabilir mi
Binlerce bloğu render etmek için epey güçlü donanım gerekir gibi
Gerçekte görünce gerçekten harika olurdu
Gerçekten çok güzel görünüyor
Bir web sayfasını tarayıcıda açtığımızda VR’da da çalışır mı? Öyleyse daha da harika olur