DarkRadiant render system: Difference between revisions

From The DarkMod Wiki
Jump to navigationJump to search
OrbWeaver (talk | contribs)
Basic renderer information
 
m categorised
Line 3: Line 3:
* '''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'''
* '''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.
* '''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.
[[Category:DarkRadiant]]
[[Category:Coding]]

Revision as of 11:44, 12 January 2007

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.