Live data from Hacker News

Triangle splatting: radiance fields represented by triangles

trianglesplatting.github.io

11–20 of 81 posts

Re: Triangle splatting: radiance fields represented by triangles

#11
post #9

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.

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?

Re: Triangle splatting: radiance fields represented by triangles

#12
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. Triangles are cheap. Ridiculously cheap. For everything.

Re: Triangle splatting: radiance fields represented by triangles

#14
I'm so confused about the citation:

author = {Held, Jan and Vandeghen, Renaud and Deliege, Adrien and Hamdi, Abdullah and Cioppa, Anthony and Giancola, Silvio and Vedaldi, Andrea and Ghanem, Bernard and Tagliasacchi, Andrea and Van Droogenbroeck, Marc},

while on arxiv and the top of the page

Jan Held, Renaud Vandeghen, Adrien Deliege, Abdullah Hamdi, Silvio Giancola, Anthony Cioppa, Andrea Vedaldi, Bernard Ghanem, Andrea Tagliasacchi, Marc Van Droogenbroeck

Re: Triangle splatting: radiance fields represented by triangles

#16
post #13

What is we use triangular pyramids instead of triangles? Wouldn't this lead to the full 3D representation?

A pyramid is unnecessarily bound, a triangle performs better if it is free flowing. I understand that this performs better because there is less IO but slightly more processing. IO is the biggest cost when it comes to GPUs.

Re: Triangle splatting: radiance fields represented by triangles

#17
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?

Triangles are the simplest polygons, and simple is good for speed and correctness.

Older GPUs natively supported quadrilaterals (four sided polygons), but these have fundamental problems because they're typically specified using the vertices at the four corners... but these may not be co-planar! Similarly, interpolating texture coordinates smoothly across a quad is more complicated than with triangles.

Similarly, older GPUs had good support for "double-sided" polygons where both sides were rendered. It turned out that 99% of the time you only want one side, because you can only see the outside of a solid object. Rendering the inside back-face is a pointless waste of computer power. This actually simplified rendering algorithms by removing some conditionals in the mathematics.

Eventually, support for anything but single-sided triangles was in practice emulated with a bunch of triangles anyway, so these days we just stopped pretending and use only triangles.

Re: Triangle splatting: radiance fields represented by triangles

#18
post #14

I'm so confused about the citation: author = {Held, Jan and Vandeghen, Renaud and Deliege, Adrien and Hamdi, Abdullah and Cioppa, Anthony and Giancola, Silvio and Vedaldi, Andrea and Ghanem, Bernard and Tagliasacchi, Andrea and Van Droogenbroeck, Marc}, while on arxiv and the top of the page Jan Held, Renaud Vandeghen, Adrien Deliege, Abdullah Hamdi, Silvio Giancola, Anthony Cioppa, Andrea Vedaldi, Bernard Ghanem, An…

it's the same list of authors, written in different formats

the first one is SURNAME, NAME separated by "and"

the second one is NAME SURNAME separated by commas

The second one is easier to read by humans, but the first one makes it clearer what is the surname (which would be ambiguous otherwise, when there are composite names). But then again, the first format breaks when someone has "and" in their name, which is not unheard of.

Re: Triangle splatting: radiance fields represented by triangles

#19
post #14

I'm so confused about the citation: author = {Held, Jan and Vandeghen, Renaud and Deliege, Adrien and Hamdi, Abdullah and Cioppa, Anthony and Giancola, Silvio and Vedaldi, Andrea and Ghanem, Bernard and Tagliasacchi, Andrea and Van Droogenbroeck, Marc}, while on arxiv and the top of the page Jan Held, Renaud Vandeghen, Adrien Deliege, Abdullah Hamdi, Silvio Giancola, Anthony Cioppa, Andrea Vedaldi, Bernard Ghanem, An…

That's just the formatting?

author = {surname 1, first name 1 and surname 2, first name 2 and ...}

"and" is the separator.

Re: Triangle splatting: radiance fields represented by triangles

#20
> 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.

Post reply on HN