
Gaussian Splatting add-on in Evergine
What is 3D Gaussian Splatting?
3D Gaussian Splatting is a sophisticated technique in computer graphics that creates high-fidelity, photorealistic 3D scenes by projecting points, or “splats,” from a point cloud onto a 3D space, using Gaussian functions for each splat. This technique supports complex view-dependent visual effects and surpasses traditional point cloud rendering by producing dynamic and lifelike visualizations.
One of the most popular research papers that explains in detail the technicalities around 3D Gaussian splatting for Real-time radiance field rendering was published this year at SIGGRAPH 2023 (full paper and git repository are publicly available online), triggering a renewed interest in this subject.
3D space is defined as a set of Gaussians, with each Gaussian’s parameters calculated through machine learning. This means:
- Having data that describes the scene.
- Rendering the data on the screen.
It is, therefore, analogous to triangle rasterization in computer graphics, which is used to draw many triangles on the screen. However, instead of drawing triangles, Gaussians are used. Each Gaussian is described by the following parameters:
- Position: where it is located (XYZ)
- Covariance: how it stretches/scales (3×3 matrix)
- Color: RGB
- Alpha: its transparency (α)
Here’s an example with 7 million Gaussian splats:
Features
Seamless integration of 3D Gaussian Splat files into your application. You can easily add them from Evergine Studio and blend them smoothly with other objects in your scene, creating highly realistic and dynamic visual compositions.
Supported formats
Currently, this add-on supports the following 3D Gaussian Splatting formats:
Compressed PLY Format .ply
This format is a modification of the traditional .ply and can be summarized as follows:
- The scene is split into chunks of 256 splats.
- For each chunk, the minimum and maximum (x, y, z) values for position and scale are stored in floating point.
- For each splat in the chunk, a normalized and quantized value for position, scale (relative to chunk extents), orientation, and color is stored.
Splat .splat
A .splat file is a simple format that stores the parameters and attributes used in Gaussian Splatting. It contains packed information for each splat (color, position, rotation, scale).
Start using 3D Gaussian Splatting add-on in Evergine
1. Add the Evergine.GaussianSplatting Add-on
Open Evergine Studio and add the Evergine.GaussianSplatting add-on to your project. Refer to this guide for instructions on adding add-ons:
2. Add Your Splat File to the Project
In Evergine Studio, add a supported 3D Gaussian Splatting file (.splat or compressed .ply file) to your project:
3. Create the Gaussian Splatting Entity
In your scene, create a new Empty Entity and add the GaussianSplattingDrawable component. Set the SplatPath property to the path of the 3D Gaussian Splat file.