利用者:Phonybone/Archive/DataGraphIdeas
< 利用者:Phonybone | Archive(利用者:Phonybone/DataGraphIdeasから転送)
目次
Use cases for data/dependency graph
Object hierarchy
Object Hierarchy Graph
- Transformation is successively applied to child objects and stored in object matrix.
Mesh data modifiers
Modifier "trees" are subgraphs
- Modifiers node is a component subgraph. When simple, unmodified mesh display is needed, a default "pass-through" modifier could be used automatically.
- Actual resulting geometry data (better abstracted "derived mesh" replacement) is stored in separate nodes:
- Display Data is used for realtime OpenGL display in the viewport
- Render Data is the "final" version for rendering, only generated right before rendering.
Q: Could this depend on the renderer?
- Object does not directly link to a single base mesh block any more. Meshes are "attached" to objects by an instance of a modifier graph, which in turn links to the mesh used as input.
Some details of the modifier subgraphs are explained below. These principles also apply in other areas where specialized subgraphs are used.
Modifier Stack
Simple stack-type modifier graph
- Replicates current modifier stack behavior
- Input nodes are used to import input data of instances. Output nodes export data from a local subgraph. See also the next section on groups.
(Note: Current node groups display input/output sockets as part of the tree, but can be interpreted as nodes too.)
Subgraphs ("Node Groups") and instances
Parts of the modifier graph can in turn instance other subgraphs.
- This generalizes the "node group" concept (Group nodes are instances of library node trees! Partially broken in cases due to fuzzy node tree/instance separation).
Multiple Inputs
Since no single mesh is designated as "the" object mesh, multiple base meshes can be combined and attached to an object with a merge modifier component.