← Back to context

Comment by m-schuetz

8 days ago

- Streaming point cloud data setsnover web browsers (used by many surveying and construction companies, as well as geospatial government agencies).

- Visualize other scan data such as gaussian splat data sets, or triangle meshes from photogrammetry

- Things like google earth, Cesium, or other 3D globe viewers.

It's a pretty big thing in geospatial sciences and industry.

What improvements does WebGPU bring vs WebGL for things like Potree?

  • Compute shaders, which can draw points faster than the native rendering pipeline. Although I have to admit that WebGPU implements things so poorly and restrictive, that this benefit ends up being fairly small. Storage buffers, which come along with compute shaders, are still fantastic from a dev convenience point of view since it allows implementing vertex pulling, which is much nicer to work with than vertex buffers.

    For gaussian splatting, WebGPU is great since it allows implementing sorting via compute shaders. WebGL-based implementations sort on the CPU, which means "correct" front-to-back blending lags behind for a few frames.

    But yeah, when you ask like that, it would have been much better if they had simply added compute shaders to WebGL, because other than that there really is no point in WebGPU.

  • Access to slightly more recent GPU features (e.g. WebGL2 is stuck on a feature set that was mainstream ca. 2008, while WebGPU is on a feature set that was mainstream ca 2015-ish).

    • All of these new features could have easily be added to WebGL. There was no need for creating a fundamentally different API just for compute shaders.

      5 replies →