3DGS to Dense Point Cloud PLY

This GitHub repository is making it easy to convert 3DGS to dense point clouds.

This GitHub repository is making it easy to convert 3DGS to dense point clouds.

Michael Rubloff

Michael Rubloff

Michael is the Founder and Managing Editor of Radiancefields.com

Tags

3DGS Dense Point Cloud

Gaussian Splatting, a method in which to reconstruct a Radiance Field, is capable of easily creating hyper real 3D scenes. However, these highly realistic 3D scenes come with a limitation: they require specialized renderers for viewing, making them incompatible with many common 3D applications. This gap in compatibility presents a significant barrier for those who want to incorporate Gaussian Splatting into more versatile workflows, particularly when using standard 3D visualization tools that support formats like point clouds.

In response to this issue, a new open-source GitHub repository has been launched, 3DGS-to-PC, providing scripts that convert 3D Gaussian Splatting scenes into dense point clouds. This conversion makes the reconstructed 3D scenes more accessible, allowing them to be handled by a broader range of software compatible with point clouds, which are widely used in various fields from virtual reality to industrial engineering.

Most existing tools that attempt to convert Gaussian Splatting representations into point clouds do so by simplifying the Gaussians to their central points, resulting in sparse point clouds. The newly developed repository addresses this limitation by providing an approach that results in high-quality, dense point clouds, closely imitating the detail and quality of the original Gaussian Splatting representations.

The process leverages a multivariate normal distribution to sample points from each Gaussian, with the number of sampled points determined by the Gaussian’s size. Larger Gaussians thus generate more points, creating a more accurate representation of the scene, including finer details and more realistic depth. To avoid visual inaccuracies, the method ensures that sampled points do not exceed a distance of two standard deviations from the Gaussian center, reducing outlier interference and improving visual consistency.

One of the key challenges faced during the development was ensuring accurate color representation in the converted point clouds. Gaussians that are occluded by others often contain incorrect color data that would lead to inconsistencies if used directly in the point cloud. To tackle this, developer Lewis Stuart implemented a custom Pytorch-based renderer, adapted from the Torch Splatting project, to track each Gaussian’s contribution to the final pixel color. This renderer assigns a more representative color to each Gaussian based on its visual contribution from various perspectives, leading to a point cloud that retains the color integrity of the original scene.

While this solution effectively solved the color mismatch problem, it does come at a cost. The rendering process using Pytorch is notably slower compared to CUDA implementations. The developers noted that a future enhancement might involve transitioning this solution to CUDA to significantly speed up the point cloud generation process.

The current implementation requires predefined camera transforms to determine which perspectives to render, which could be streamlined by developing a method that automatically selects optimal camera positions based on the scene itself. Additionally, while the use of Torch allows flexibility in modifying the renderer without changing the underlying Gaussian Splatting codebase, it sacrifices performance, resulting in slower rendering times.

With ongoing development, including community contributions, these scripts could significantly enhance the usability of Gaussian Splatting data, opening doors for broader applications across industries that rely on 3D data visualization.

For those interested in trying out the conversion themselves, the GitHub repository is available for cloning with an Apache 2.0 license, making it commercially viable. The script takes as input a Gaussian Splat file (either in .ply or .splat format) and offers various arguments to customize the output, such as setting the number of points or adjusting color quality. While the process is computationally intensive, the detailed output and customization options provide significant value for those seeking to leverage Gaussian Splatting data in more traditional point cloud workflows.

To properly run, you will need to have roughly 5GB of VRAM on your GPU available. Depending on the parameters that are set for the point cloud, the processing time can range between 5-20 minutes, though the more complicated the scene, the longer the potential reconstruction time. 

The repository credits the original works of both 3D Gaussian Splatting and Torch Splatting, showcasing how foundational technologies can be iteratively built upon to solve emerging challenges in the 3D visualization space.

Get started with their codebase here

Thumbnail for Gaussian Splatting News episode 11

10:32

Watch · New every Monday

SpAItial Echo-3 & Apple Event 4D Splat Rig | Gaussian Splatting News

Episode 11 · Nov 2, 2026

Spatial AI launched Echo 3, a world model and iPhone capture app that turns a few minutes of video into a metric-scale Gaussian splat, mesh and point cloud.

Featured

Recents

Guest Article

SpatialView Makes Gaussian Splats Queryable by AI Agents

SpatialView takes virtual photographs of a Gaussian Splat and indexes them in a scene matrix that AI agents can search in plain language.

Thomas Charlton

Nov 7, 2026

Guest Article

SpatialView Makes Gaussian Splats Queryable by AI Agents

SpatialView takes virtual photographs of a Gaussian Splat and indexes them in a scene matrix that AI agents can search in plain language.

Thomas Charlton

Platforms

Splat3D Ships a Swift SDK for Its Gaussian Splatting API

Splat3D Swift SDK 1.1.0 records ARKit camera poses and LiDAR points during capture and returns Gaussian splats as SPZ, SOG or PLY from Splat3D's hosted API.

Michael Rubloff

Nov 7, 2026

Platforms

Splat3D Ships a Swift SDK for Its Gaussian Splatting API

Splat3D Swift SDK 1.1.0 records ARKit camera poses and LiDAR points during capture and returns Gaussian splats as SPZ, SOG or PLY from Splat3D's hosted API.

Michael Rubloff

News

Insta360 Launches a Spatial Capture Challenge

Insta360 opens the Spatial Capture Challenge for X5 and X6 owners, with $3,500 in prizes for Gaussian splat scenes made in Spatial Capture through December 20.

Michael Rubloff

Nov 6, 2026

News

Insta360 Launches a Spatial Capture Challenge

Insta360 opens the Spatial Capture Challenge for X5 and X6 owners, with $3,500 in prizes for Gaussian splat scenes made in Spatial Capture through December 20.

Michael Rubloff

Platforms

StarLightGS Relights Gaussian Splats Inside Unreal Engine

StarLightGS is an open-source plugin for Unreal Engine 5.7 and newer that renders Gaussian splats into the GBuffer so the engine's own lights relight them.

Michael Rubloff

Nov 6, 2026

Platforms

StarLightGS Relights Gaussian Splats Inside Unreal Engine

StarLightGS is an open-source plugin for Unreal Engine 5.7 and newer that renders Gaussian splats into the GBuffer so the engine's own lights relight them.

Michael Rubloff

Trending Articles
  1. TRENDING
    Loading...
  2. TRENDING
    Loading...
  3. TRENDING
    Loading...
Michael Rubloff

Written by Michael Rubloff

Michael is the Founder and Managing Editor of Radiancefields.com

More from Michael Rubloff

More from Michael Rubloff

Platforms

Splat3D Ships a Swift SDK for Its Gaussian Splatting API

Splat3D Swift SDK 1.1.0 records ARKit camera poses and LiDAR points during capture and returns Gaussian splats as SPZ, SOG or PLY from Splat3D's hosted API.

Michael Rubloff

Nov 7, 2026

Splat3D

Platforms

Splat3D Ships a Swift SDK for Its Gaussian Splatting API

Michael Rubloff

Nov 7, 2026

Splat3D

Platforms

Splat3D Ships a Swift SDK for Its Gaussian Splatting API

Splat3D Swift SDK 1.1.0 records ARKit camera poses and LiDAR points during capture and returns Gaussian splats as SPZ, SOG or PLY from Splat3D's hosted API.

Michael Rubloff

Nov 7, 2026

Splat3D

News

Insta360 Launches a Spatial Capture Challenge

Insta360 opens the Spatial Capture Challenge for X5 and X6 owners, with $3,500 in prizes for Gaussian splat scenes made in Spatial Capture through December 20.

Michael Rubloff

Nov 6, 2026

Spatial Capture Challenge

News

Insta360 Launches a Spatial Capture Challenge

Michael Rubloff

Nov 6, 2026

Spatial Capture Challenge

News

Insta360 Launches a Spatial Capture Challenge

Insta360 opens the Spatial Capture Challenge for X5 and X6 owners, with $3,500 in prizes for Gaussian splat scenes made in Spatial Capture through December 20.

Michael Rubloff

Nov 6, 2026

Spatial Capture Challenge

Platforms

StarLightGS Relights Gaussian Splats Inside Unreal Engine

StarLightGS is an open-source plugin for Unreal Engine 5.7 and newer that renders Gaussian splats into the GBuffer so the engine's own lights relight them.

Michael Rubloff

Nov 6, 2026

StarlightGS

Platforms

StarLightGS Relights Gaussian Splats Inside Unreal Engine

Michael Rubloff

Nov 6, 2026

StarlightGS

Platforms

StarLightGS Relights Gaussian Splats Inside Unreal Engine

StarLightGS is an open-source plugin for Unreal Engine 5.7 and newer that renders Gaussian splats into the GBuffer so the engine's own lights relight them.

Michael Rubloff

Nov 6, 2026

StarlightGS

New to Gaussian Splatting? Start here

Radiance fields, explained from the ground up: what a Gaussian splat is, how to capture one, and which tools and gear to start with.

Newsletter

Keep up with the field.

New research, tools and captures from the Radiance Fields newsroom, in your inbox. Free, no spam.

Gaussian Splatting News on YouTube

The week in radiance fields, every Monday.

Gaussian Splatting News on YouTube

The week in radiance fields, every Monday.

Gaussian Splatting News on YouTube

The week in radiance fields, every Monday.

Gaussian Splatting News on YouTube

The week in radiance fields, every Monday.