After an email exchange with the lead author, I just rendered one of their demo datasets using my Datoviz GPU rendering library [1]. It looks nice and it's quite fast. I'm just rendering uniform triangles using standard 3D rasterization. https://github.com/user-attachments/assets/6008d5ee-c539-451... (or https://github.com/datoviz/data/blob/main/gallery/showcase/s... ) I'll add it to the official gallery soon, with p…
Triangle splatting: radiance fields represented by triangles
31–40 of 81 posts
Re: Triangle splatting: radiance fields represented by triangles
#32Earlier quoted context omitted.
Why do they use "and"? Why not use an unambiguous joining token like `/`? This just feels like an abuse of informal language to produce fundamentally formal data. As it stands, it certainly does not resemble readable or parseable english.
It’s how the bibtex author field is defined. You don’t get free choice here. As far as I’m aware bibtex defines and as the separator https://bibtex.eu/fields/author/
Re: Triangle splatting: radiance fields represented by triangles
#33After an email exchange with the lead author, I just rendered one of their demo datasets using my Datoviz GPU rendering library [1]. It looks nice and it's quite fast. I'm just rendering uniform triangles using standard 3D rasterization. https://github.com/user-attachments/assets/6008d5ee-c539-451... (or https://github.com/datoviz/data/blob/main/gallery/showcase/s... ) I'll add it to the official gallery soon, with p…
404
Re: Triangle splatting: radiance fields represented by triangles
#34Earlier quoted context omitted.
And in case it helps further in the context of the article: traditional rendering pipelines for games don't render fuzzy Gaussian points, but triangles instead. Having the model trained on how to construct triangles (rather than blobbly points) means that we're closer to a "take photos of a scene, process them automatically, and walk around them in a game engine" style pipeline.
Any insights into why game engines prefer triangles rather than guassians for fast rendering? Are triangles cheaper for the rasterizer, antialiasing, or something similar?
A triangle by definition is guaranteed to be co-planer; three vertices must describe a single flat plane. This means every triangle has a single normal vector across it, which is useful for calculating angles to lighting or the camera.
It's also very easy to interpolate points on the surface of a triangle, which is good for texture mapping (and many other things).
It's also easy to work out if a line or volume intersects a triangle or not.
Because they're the simplest possible representation of a surface in 3D, the individual calculations per triangle are small (and more parallelisable as a result).
Re: Triangle splatting: radiance fields represented by triangles
#35Can someone explain what a splat is? I did graphics programming 25 years ago, but haven't touched it since. I don't think I've ever heard this word before.
The problem is that any tool or process that converts splats into regular geometry produces plain old geometry and RGB textures, thus loosing its advantage. For this reason splats are (in my opinion) a tool in search of an application. Doubtless some here will disagree.
Re: Triangle splatting: radiance fields represented by triangles
#36Earlier quoted context omitted.
And in case it helps further in the context of the article: traditional rendering pipelines for games don't render fuzzy Gaussian points, but triangles instead. Having the model trained on how to construct triangles (rather than blobbly points) means that we're closer to a "take photos of a scene, process them automatically, and walk around them in a game engine" style pipeline.
Any insights into why game engines prefer triangles rather than guassians for fast rendering? Are triangles cheaper for the rasterizer, antialiasing, or something similar?
In fact, I belive that under the hood all 3d models are triangulated.
Re: Triangle splatting: radiance fields represented by triangles
#37Earlier quoted context omitted.
A splat is basically a point in a point cloud. But instead of a gaussian splat being just a point it isn’t infinitesimally small but like a 3d gaussian where the point represent the mean. It also has color and opacity. You can also stretch it like an ellipsoid instead of having it have perfect radial symmetry.
So instead of a point, a splat is more of a (colored) cloud itself. So a gaussian splat scene is not a pointcloud but rather a cloudcloud.
A good way of putting it.
Re: Triangle splatting: radiance fields represented by triangles
#38Can someone explain what a splat is? I did graphics programming 25 years ago, but haven't touched it since. I don't think I've ever heard this word before.
Practically, what differentiateS a splat from standard photogrammetry is that it can capture things like reflections, transparency and skies. A standard photogram of (for example) a mirror would confuse the reflection in the mirror for a space behind the mirror. A photogram of a sheet of glass would likewise suffer. The problem is that any tool or process that converts splats into regular geometry produces plain old…
Re: Triangle splatting: radiance fields represented by triangles
#39Re: Triangle splatting: radiance fields represented by triangles
#40> The triangles are well aligned with the underlying geometry. All triangles share a consistent orientation and lie flat on the surface. When I first read "triangle splatting," I assumed Gaussians were just replaced by triangles, but triangles being aligned with geometry changes everything. Looking forward to seeing this in action in traditional rendering pipelines.
Normal aligned 3DGS was already proposed earlier[1]. This seems more like an iteration on getting performance improvement by moving from the theoretical principle closer to what the hardware is already doing well and finding a sweet spot of brute amount of features, fast rasterization method and perceived image quality. It's already noticeable that there doesn't seem to be one fits all approach. Volumetric feathered…