Live data from Hacker News

Triangle splatting: radiance fields represented by triangles

trianglesplatting.github.io

31–40 of 81 posts

Re: Triangle splatting: radiance fields represented by triangles

#31
post #29

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…

404

Re: Triangle splatting: radiance fields represented by triangles

#32

Earlier 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/

Yea but like... why? Typically you use human language operators to produce readable phrases, and this doesn't even approach readable english.

Re: Triangle splatting: radiance fields represented by triangles

#33
post #29

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…

404

Which link? Both seem to work for me at the moment.

Re: Triangle splatting: radiance fields represented by triangles

#34
post #9

Earlier 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?

Cheaper for everything, ultimately.

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

#35

Can 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 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

#36
post #9

Earlier 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?

Yes cheaper. Quads are subject to becoming non-planar leading to shading artifacts.

In fact, I belive that under the hood all 3d models are triangulated.

Re: Triangle splatting: radiance fields represented by triangles

#37
post #10

Earlier 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.

> 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

#38
post #35

Can 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…

I've never been quite clear on how Splats encode specular (directional) effects. Are they made to only be visible from a narrow field of view (so you see a different splat for different view angles?) or do they encode the specular stuff internally somehow?

Re: Triangle splatting: radiance fields represented by triangles

#40
post #22

> 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…

I think the major computational task is sorting the primitives, which works great on GPUs but not so much on CPUs. Im sure there is some research happening on sort-free primitives
Post reply on HN