It makes sense to me that each edge or each root stores a linear transformation, but when would we want both the edge and the root to store a transformation?
I think each edge in the tree should be undirected (or there can be a pair of directed edges between two neighboring nodes), since if something hit the left lower leg with some force, every part of the creature should react to it.
While it makes sense to use the stack, how is this approach scalable to a large number of objects and/or parallelizable? It seems that every transformation for each object would use the stack sequentially, but I could've misinterpreted how it works
I think it may not be highly parallel necessarily per object, but I imagine an objects scene graph can be operated on concurrently, at least.
I imagine a list of scene graphs could be processed in parallel however - i.e., it may be a bit of a misnomer, that an object has a scene graph, not the other way around. Ofc, could be wrong.
Since we store previous multiplications on the stack, how important is the order that we visit nodes on performance?
If there are too many parts to the object (i.e., the object is very complex), is it possible to encounter stack-overflow when storing relative transformations all on the stack? How should we handle this situation?
I guess the read and store the new value of the stack requires a high volume of threads which requires a well-performed gpu?