Hi ParaView team,
I’d like to request first-class support for 3D Gaussian Splatting (3DGS) in ParaView — both a reader for the de-facto 3DGS file format and a representation that renders the splats correctly.
Motivation
3DGS has quickly become a standard way to reconstruct real-world environments (from handheld LiDAR/photogrammetry scanners) into high-fidelity, view-dependent radiance fields. For scientific visualization this is very attractive: we can run a CFD/SPH/FEM simulation and display the results directly inside a photorealistic reconstruction of the actual site (e.g. overlaying a flood, debris-flow, or tsunami simulation onto a scanned street or structure). ParaView is our tool of choice for the simulation side, so being able to load the 3DGS scene as context — in the same scene, same camera, correct depth — would be extremely valuable for disaster visualization and digital-twin workflows.
Current state (what already exists)
ParaView/VTK already has a lot of the rendering machinery:
- vtkPointGaussianMapper supports anisotropic Gaussians with per-point quaternion rotation and EWA splatting (VTK MR !10662), which covers the geometric splat primitive.
So the remaining gap is mostly I/O, view-dependent color, and correct compositing.
Concrete requests
- A reader for the standard 3DGS format — the INRIA-style .ply layout (fields x,y,z, scale_0..2, rot_0..3, opacity, f_dc_0..2, f_rest_* SH coefficients), and ideally the compact .splat variant.
- Spherical-harmonics (SH) view-dependent color evaluated per-frame from the current camera direction, so appearance matches native 3DGS viewers rather than a flat/DC-only color.
- Correct order-dependent alpha compositing (back-to-front depth sorting of splats, or an OIT approach) so overlapping Gaussians blend properly.
- GUI exposure: a dedicated representation/reader so users can open a 3DGS file and combine it with ordinary VTK datasets (simulation output) in one render view.
Use case example
Our workflow scans a real site with a handheld scanner, exports the 3DGS .ply, and runs a fluid simulation of the same space. Today we composite the two outside ParaView. Native 3DGS support would let us load both into a single ParaView view, share the camera, and get correct occlusion between the reconstructed geometry and the simulated flow.
Here is an example of the kind of simulation-on-3DGS composite we produce — a GPU-LBM airflow simulation around a tram running through a street that was reconstructed as a 3DGS scene:
Happy to provide sample 3DGS datasets and help test. Thanks for considering this!