Home › Forums › Bug Reports and Feature Requests › Modern 3D Gaussian Splatting (LOD + Spark Renderer) Completely Unusable in Verge3D Due to Disabled W
- This topic has 1 reply, 2 voices, and was last updated 2 hours, 22 minutes ago by
Alexander Kovelenov.
-
AuthorPosts
-
2025-11-20 at 4:35 pm #85450
QiangGeParticipantHello Verge3D team and community,
I’ve been trying to integrate a high-performance 3D Gaussian Splatting viewer with LOD support (using the popular @sparkjsdev/spark renderer and large .spz scenes ~150 million splats) into a Verge3D project.
Unfortunately it is currently impossible to get it running properly in Verge3D, even though the exact same code works perfectly at 60+ FPS with zero warnings when using original three.js r170+.
After in-depth debugging, the root causes are:=== Verge3D Full Compatibility Diagnostic Report (English) ===
Date : 2025-11-20
Verge3D version : v3d.module49.js (based on three.js ~r122)
Browser : Windows NT 10.0; Win64; x64
GPU : ANGLE (NVIDIA, NVIDIA GeForce RTX 3080 (0x0000220A) Direct3D11 vs_5_0 ps_5_0, D3D11) (Google Inc. (NVIDIA))— Critical WebGL2 Extensions (Required by Spark / 3DGS / three-gs etc.) —
OES_texture_half_float : ✗ DISABLED by Verge3D
OES_texture_half_float_linear : ✗ DISABLED by Verge3D
EXT_color_buffer_half_float : ✓ Supported
WEBGL_color_buffer_float : ✗ Disabled (fallback)
OES_standard_derivatives : ✗ DISABLED by Verge3D
OES_texture_float : ✗ Disabled
OES_texture_float_linear : ✓ Supported— Required three.js Modern APIs (Missing in old Verge3D fork) —
WebGLRenderer.prototype.readRenderTargetPixelsAsync : ✗ MISSING → needs polyfill
InstancedBufferAttribute.prototype.addUpdateRange : ✗ MISSING → needs polyfill— Summary —
• All 5 core half-float extensions are deliberately disabled by Verge3D.
• Two essential three.js APIs (introduced after r130) are completely missing.
• Modern Gaussian Splatting renderers (Spark, three-gs, etc.) cannot run without heavy polyfills or will fail entirely.
• The same hardware + browser + original three.js r170+ runs these renderers at full 60+ FPS with zero warnings.Conclusion for Verge3D team:
Please either:
1. Remove the internal extension blacklist, or
2. Update the embedded three.js to at least r160+ and enable standard WebGL2 features.This prevents the entire 2024–2025 generation of high-performance point-cloud / Gaussian Splatting viewers from working in Verge3D applications.
Report generated automatically for official feedback.
2025-11-20 at 4:50 pm #85452
Alexander KovelenovStaffHi,
1) There might be some inconsistencies in the code that detect WebGL extensions, because we have not blacklisted any of those. Moreover, these are used extensively to implement HDR rendering and image-based lighting in Verge3D.
2) Unfortunately, Verge3D and Three.js code bases diverged a lot since r122 when the last sync was performed. API differences are not so significant, but still might require refactoring of the apps being ported from Three.js to Verge.
-
This reply was modified 2 hours, 21 minutes ago by
Alexander Kovelenov.
-
This reply was modified 2 hours, 21 minutes ago by
-
AuthorPosts
- You must be logged in to reply to this topic.
