Do someone know about something that uses an alter...
# thinking-together
e
Do someone know about something that uses an alternative to rendering trees ?
i
Does a "scene graph" (commonly used in video games) count as a rendering tree?
e
My question is vague on purpose, anything goes !
i
In that case, a scene graph (and the corresponding mesh data stored as indices and vertices, etc etc) is an alternative to web-esq rendering trees, used by basically all 3d video games :)
c
I don’t know what rendering trees are in your context, but it makes me think about Flutter’s box layout and paint boundaries algorithm which is really cool.

https://www.youtube.com/watch?v=UUfXWzp0-DU

o
Both web rendering engines and game rendering pipelines have render trees but they’re radically different. Trees are common structures in rendering in part because they’re easy to manipulate and efficient to compute, and are often amiable to parallelisation which a GPU (or other hardware) can take advantage of. So maybe my answer is this: structures which have useful properties for the expression of rendering processes and their efficient computation can all be suitable for rendering systems. Trees are also common because they’re quite general structures. Other general structures such as hypergraphs, graphs, or DAGs, also appear in rendering quite a bit. But once you get to the rendering itself, more constrained structures can be desirable because you can often make strong guarantees about things like computational complexity, efficiency, etc. One example of non-tree structures used in the rendering pipeline is Nanite, which takes advantage of DAGs as an intermediate representation to do some clever triangle clustering wizardry. I’m sure there are better examples this one was just on my mind. https://advances.realtimerendering.com/s2021/Karis_Nanite_SIGGRAPH_Advances_2021_final.pdf