The include/vsg/nodes header directory contains the graph node classes. These classes are used to create scene graphs, command graphs and graphs used for custom purposes.
The design is based on the concept of top down Direct Acyclic Graph (DAG), where the internal nodes of the graph aggregate lists of smart pointers to other internal or leaf nodes. Node subclasses add specific data and behaviours to the graph to provided guidance how the graph should be traversed and processed.
include/vsg/nodes/nodes/Group.h - general purpose group that aggregates a list of children using variable sized vector of
include/vsg/nodes/nodes/QuadGroup.h - a performance orientated group with sized fixed to four children.
ref_ptr<vsg::StateComponent>that encapsulate Vulkan state such as shader, uniform and vertex bindings.