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 style 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 convenient C++ style setup.
- src/vsg/state - scene graph level classes that provide wrappers Vulkan object with setting Vulkan state such as Pipelines, Uniforms and Textures.
- src/vsg/commands - scene graph level classes that provide wrappers to vkCmd* Vulkan API calls.
- src/vsg/rtx - scene graph level classes that provide wrappers 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 convenient support for high quality text.
- src/vsg/traversals - traversal implementations such as CompileTraversal, & RecordTraversal.
- src/vsg/platform - platform specific implementations of Windowing.
- src/vsg/viewer - Viewer and Application classes