The implementations provided by the src/vsg directories mirror the structure of the include/vsg header directory structure.
- src/vsg/core - Base classes that provide reference counting, arrays, visitors.
- src/vsg/maths - GLSL stle maths classes.
- src/vsg/io - File system, stream and native file format support
- src/vsg/threading - Threading class that build upon std::thread.
- src/vsg/utils - Utility functions/classes.
- src/vsg/vk - classes that provide wrappers to high level Vulkan objects, providing robust resource management and convinient C++ style setup.
- src/vsg/state - scene graph level classes that provude wrappers Vulkan object with setting Vulkan state such as Pipelines, Unfirorms and Textures.
- src/vsg/commands - scene graph level classes that proviide wrappers to vkCmd* Vulkan API calls.
- src/vsg/rtx - scene graph level classes that provide wrappes to Vulkan RTX ray tracing and mesh shader extensions.
- src/vsg/nodes - scene graph node classes that provide the internal structure to the scene graph.
- src/vsg/text - scene graph text classes that provide convinient support for high quality text.
- src/vsg/traversals - traversal implementatons such as CompileTraversal, & RecordTraversal.
- src/vsg/platform - platform specific implementations of Windowing.
- src/vsg/viewer - Viewer and Application classes classes
- src/vsg/introspection - intitial exploration of interospection.