May 16, 2026

Tomatoes, triangles, and thread warfare

3D Gaussian Splatting in a Weekend

One coder built a 3D photo world in days—and the comments instantly picked a fight

TLDR: A developer showed how to build a real-time 3D photo-like scene renderer in a weekend, turning a complex graphics idea into a hands-on tutorial. In the comments, readers immediately debated whether it’s basically a point cloud in disguise and how quickly it should be trimmed for speed and size.

A developer just posted a weekend project that basically says, “Yes, you too can build one of those eerie, super-real 3D photo scenes from scratch.” The article walks through making a simplified real-time renderer in C++ and OpenGL, using downloadable scenes from Supersplat and a humble plate of tomatoes as the demo star. It’s nerdy, ambitious, and surprisingly approachable: load the scene, draw the dots, then slowly turn those dots into soft little blobs of color that look like a 3D snapshot you can walk around in.

But the real entertainment is in the comment section, where readers immediately split into two camps: the people asking, “Wait, so is this just a fancy point cloud?” and the optimization crowd who smelled a performance debate from a mile away. One commenter cut straight to the beginner confusion by comparing it to data from Lidar and Kinect, which is basically the universal signal for “please explain this like I’m not already deep in graphics research.” Another dove headfirst into the weeds of color compression, arguing that some of the fancier color math can be dropped to save speed and storage. Translation: one side wants the simple version, the other is already trying to put the weekend project on a diet.

The vibe? Equal parts wow, wait, and okay but can we make it smaller and faster. Even with only two comments, the energy is classic tech-thread chaos: curiosity, nitpicking, and that irresistible urge to optimize something before everyone has even finished admiring the tomatoes.

Key Points

  • The article explains 3D Gaussian splatting by building a simplified renderer from scratch in roughly 1,000 lines of C++ and OpenGL.
  • It focuses on rendering only, while noting that some 3DGS renderer design choices are coupled to training considerations such as differentiability and covariance constraints.
  • The tutorial uses downloadable scenes from Supersplat, including a plate-of-tomatoes example with about 200,000 splats.
  • Scene data is loaded from a .ply file into `GaussianSplat` objects containing centroid, opacity, spherical harmonics, scale, and rotation fields.
  • The article explains that splat data is stored in world space and begins validation by rendering splat centroids as GL_POINTS to check scene orientation and structure.

Hottest takes

"How does 3DGS differ from a point cloud" — brcmthrowaway
"drops out high order SH coefficients" — deckar01
"trade off speed/size for detail" — deckar01
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.