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. Data Types - vsg::Value, Array, Array2D & Array3D
  5. Metadata - how to use metadata
  6. RTTI - Run Time Type Information (RTTI) features
  7. Visitors - type safe visiting and traversal
  8. read/write - reading/writing data
  9. vsgXchange - vsgXchange library for reading 3rd party image/model formats
  10. Serialization - extensible serialization support
  11. File System - File system classes and functions
  12. Streams and Logger - General stream and Logger support
  13. vsg::Allocator - Block memory allocation for good performance
  14. Math Functions - math functions