DarkRadiant render system
From The DarkMod Wiki
The DarkRadiant render system works in two phases.
- Front end (sorting phase). At this stage, the scene graph is traversed, and entities declared as Renderable are required to submit their render information to a Renderer which, despite the name, performs no rendering but is merely responsible for sorting renderable objects into an appropriate structure of state information. Both of these interfaces (Renderable and Renderer) are defined in include/renderable.h
- Back end (rendering phase). Here the actual OpenGL calls are made by calling the render method defined in the OpenGLRenderable interface on each object previously submitted to the Renderer. This interface is defined in include/irender.h. This stage is currently handled by the ShaderCache, presumably in order to group geometry by shader and keep OpenGL state changes to a minimum.