User Tools

Site Tools


Initializing Tree Graphics

To load the textures and initialize the vertex and index buffers of a CTree object, call CTreeRI::InitGfx(). Note the hierarchy of the tree classes:

  • “CCore” is defined in the Core library.
  • “CTree” is used as an alias for CCore in Forest.h.
  • “CTreeRI” is a templated class in need of platform-specific rendering policies.
  • “Render Policies” represents the render policies (textures, shaders, vertex buffers, etc) for any of the supported SpeedTree platforms.
  • “CTreeRender” is defined in each of the platform's renderer header files (e.g. OpenGLRenderer.h, 360Renderer.h) and is a CTreeRI object with the appropriate render policies passed in as template parameters.

The typical order for initializing a tree object is:

  1. Load an SRT file or memory block into a CTreeRI object using CTreeRI ::LoadTree() (CTreeRI is derived from CCore).

  2. Call CTreeRI::InitGfx() with that tree object so that it will be ready to render using the Render Interface library.
Note: The source files MyPopulate.cpp/h give an example of how to load trees and initialize their graphics. Specifically, see CMyPopulate::LoadBaseTree() and CMyPopulate::InitBaseTreeGraphics().