The first draft of this chapter is now complete. We’ll make corrections and refine it over the coming weeks

The second part of this tutorial introduces developers to foundational classes and features that the rest of the VulkanSceneGraph classes are built upon. We start with introducing the base classes and smart pointers, the vector and matrix types, the data containers and meta data.

  1. vsg::ref_ptr<> & vsg::Object base class - strong smart pointer with intrusive reference counting
  2. vsg::observer_ptr<> - weak smart pointers
  3. Math Types - GLSL style data types
  4. Math Functions - math functions
  5. Data Types - vsg::Value, Array, Array2D & Array3D
  6. Metadata - how to use metadata
  7. RTTI - Run Time Type Information (RTTI) features
  8. Visitors - type safe visiting and traversal
  9. read/write - reading/writing data
  10. vsgXchange - vsgXchange library for reading 3rd party image/model formats
  11. Serialization - extensible serialization support
  12. File System - File system classes and functions
  13. Streams and Logger - General stream and Logger support
  14. vsg::Allocator - Block memory allocation for good performance