Understanding the Gaussian Splat PLY formats

This article explains what a .PLY format is, describes different .PLY formats, how to recognize them, and why the V-Ray Gaussian Splat feature may not work with certain .PLY files.


What are the .PLY formats?

The .PLY extension (Polygon File Format/Stanford PLY) can describe different types of 3D data.

Currently, three common major options are: Gaussian Splat .PLY and Traditional .PLY formats (Mesh-based .PLY and Point Cloud .PLY). Here is how to distinguish between them:

 

Gaussian Splat .PLY

Gaussian Splat .PLY is a special type of .PLY used for neural rendering, different from both mesh and point cloud .PLY files. It is a specialized version of the .PLY format, used for point cloud rendering techniques where each point is rendered as a Gaussian distribution (a soft, rounded splat) instead of a hard point. This format Adds attributes like per-point radius (size) and optional weights for rendering.

 

Traditional .PLY formats (Mesh-based .PLY and Point Cloud .PLY)

Traditional .PLY formats include both Mesh-based .PLY and Point Cloud .PLY. They are used in 3D graphics and modeling. Those .PLY formats are used to represent point cloud or 3D mesh data in a general-purpose format, storing vertices, faces, normals, colors, and other attributes for 3D geometry. Those files Include positions (x, y, z), colors (r, g, b), and optional normals or connectivity.

 

Gaussian .PLY Point Cloud .PLY Mesh-based .PLY
Contains
  • Vertices (X, Y, Z)
  • Opacity (Alpha)
  • Scale (f_scale_)
  • Rotation (rot_)
  • Extra Gaussian attributes (f_rest_#)
  • No faces (similar to point clouds, but with additional rendering data)
  • Only vertices (no faces)

Optional:

  • Color (RGB)
  • Normals
  • Intensity/scalar attributes (e.g., LiDAR metadata)
  • Vertices (X, Y, Z)
  • Faces (triangles/polygons connecting the vertices)

Optional:

  • Normals
  • Color (RGB)
  • Texture coordinates (UVs)
How to identify
  • Does NOT have element face (like point clouds)
  • Has special attributes like f_rest_, rot_, f_scale_
  • No element face section in the header.
  • If the header includes element face, it's a mesh-based .PLY.
✅ Supported by V-Ray Gaussian Splat ❌ Not supported by V-Ray Gaussian Splat ❌ Not supported by V-Ray Gaussian Splat

 

How to identify the exact .PLY format

To identify the exact .PLY format of a certain file, you can follow one of the following methods:

 

Option 1: Open the file via Notepad++ or Notepad

Open the .PLY file using Notepad++ or Notepad and read from the first line down to end_header. Look for the following lines:

Standard .PLY: will include data such as "scalar_ " ; " x / y / z", etc. 
Gaussian .PLY: includes data such as "f_rest" ; "scale_" ; "rot_".

Photoshop_TMP.png

 

Option 2: Auto-detect programmatically

A simple rule-of-thumb works:

def classify_ply(header_lines):
   hdr = "\n".join(header_lines)
   if "element face" in hdr:
       return "Mesh-based PLY"
   if any(k in hdr for k in ("scale_0", "rot_0", "opacity", "f_dc_0", "f_rest_0")):
       return "Gaussian Splat PLY"
   return "Point Cloud PLY"  # vertex-only, no Gaussian fields

 

Option 3: Use Chat GPT

You can also paste the header into ChatGPT and ask:
“What PLY format is this file? Mesh-Based.PLY, Point Cloud.PLY, or Gaussian.PL?”

 

File format conversion 

While it is possible to convert some file formats to Gaussian .PLY format, doing so requires an algorithmic conversion step that computes the Gaussian parameters - it is not a simple one-step file conversion. Considering that the quality of that process can vary, we cannot guarantee that converted Gaussian .PLY will conform to V-Ray’s expectations. Therefore such files may cause issues or unpredictable behavior when used with the V-Ray Gaussian Splat feature.

 

Where to create 3DGS

Several tools and platforms are starting to support the creation of 3DGS:

  • Nerf Studio: A command-line interface and tools for creating, training, and visualizing 3D Gaussian splats.
  • Polycam: A web-based renderer using Three.js, allowing for interactive visualization.
  • Luma AI: Offers web-based platforms and APIs for generating and rendering high-quality 3D Gaussian splats.
  • Postshot: A standalone application for creating, training, and visualizing 3D Gaussian splats.

 

Intersecting several Gaussian splats

While you can load multiple Gaussian splat files and they are rendered correctly with respect to one another, depending on their position in space, intersecting Gaussian splats might produce undefined or wrong results. It is not recommended to intersect them, as they are designed for a single point cloud.

 

Related resources

 

Was this article helpful?
0 out of 0 found this helpful