PlayCanvas v2.17: WebGPU पर half-precision Gaussian Splatting
PlayCanvas Engine v2.17.0 सुधारों के एक केंद्रित सेट के साथ आया है जो WebGPU पर Gaussian Splatting को आगे बढ़ाते हैं। इस रिलीज़ में half-precision spherical harmonics, एक GPU-driven sorting और culling pipeline, और scene-wide LOD संभालने के लिए एक global splat budget जुड़ा है।
Gaussian Splats को edit और optimize करने पर PlayCanvas CEO Will Eastcott के साथ SuperSplat walkthrough
f16 spherical harmonics
सबसे बड़ी तकनीकी बढ़ोतरी है WebGPU पर चलते समय Gaussian Splatting के लिए half-precision (f16) spherical harmonics। Spherical harmonics हर splat के लिए view-dependent color जानकारी encode करते हैं, और ये splatting pipeline के सबसे भारी data structures में से एक हैं। 32-bit से 16-bit floats पर जाने से memory का इस्तेमाल लगभग आधा हो जाता है, और visual में फ़र्क़ बहुत कम पड़ता है।
यह सिर्फ़ WebGPU पर काम करता है क्योंकि WebGL मूल रूप से f16 buffers को support नहीं करता। यह WebGPU के ज़रिए ऐसे optimizations का एक और उदाहरण है जो पहले व्यावहारिक नहीं थे।
GPU-driven sorting और frustum culling
v2.17.0 WebGPU पर splats के लिए एक GPU-driven sorting और frustum culling pipeline लाता है। पहले splat sorting CPU पर होती थी, जो लाखों Gaussians वाले scenes में एक bottleneck बन जाती थी। इसे compute shaders पर ले जाने का मतलब है कि GPU sorting और culling दोनों संभालता है, बिना data को वापस CPU तक भेजे।
Frustum culling step camera view के बाहर के splats को sort होने से पहले ही हटा देता है, जिससे काम का बोझ और कम हो जाता है।
Global splat budget
एक नया global splat budget सिस्टम scene-wide Gaussian Splat LOD management देता है। जब आपके scene में कई splat objects हों, तो अब आप पूरे scene के लिए एक कुल splat count सेट कर सकते हैं। Engine अपने आप distance और screen coverage के आधार पर objects में budget बाँट देता है।
यह उन applications के लिए व्यावहारिक है जो कई scanned environments या objects को एक ही scene में जोड़ते हैं, जैसे virtual showrooms या architectural walkthroughs।
PlayCanvas viewer के साथ Gaussian Splatting models को self-host करना
Color Enhance और rendering अपडेट
इस रिलीज़ में midtones control वाला एक नया Color Enhance post-effect जुड़ा है, साथ ही बेहतर performance के लिए half-precision bloom shaders भी। Material.meshInstances एक Array से बदलकर Set हो गया, जिससे instance हटाने के operations तेज़ हो जाते हैं। render pipeline में front face support भी जोड़ा गया।
v2.16.0 ने ज़मीन तैयार की
पिछली रिलीज़ (v2.16.0, 3 फ़रवरी) में 2D Gaussian Splatting (2DGS) support और WGSL subgroup support जुड़ा था। 2DGS 3D ellipsoids के बजाय flat discs का इस्तेमाल करता है, जो दीवारों और फ़र्श जैसी planar geometry के लिए और sharp surface reconstructions दे सकता है। WGSL subgroup support compute shaders में wave-level operations को सक्षम करता है, जिससे supported GPUs पर तेज़ parallel reductions हो पाती हैं।
मिलकर, v2.16 और v2.17 PlayCanvas को web-based Gaussian Splatting के लिए सबसे पसंदीदा engine बनाने की दिशा में एक अहम कदम हैं।