Ketsji Graphics Pipeline, Design Document
Erwin Coumans
May 10, 2000
Some parts of a real-time Graphics Pipeline nowadays are for example (this list is not complete):
Decision 1. The Graphics Pipeline consists of components of which many are interchangeable and even optional.
Components for visibility suitable for a certain game can be useless for another one, for example typical indoor visibility algorithms like Portals or BSP-trees (that can be treated as a filter for the rest of the Graphics Pipeline) are not suitable for outdoor scenes.
Decision 2. All hardware specific and 3D API specific tasks are concentrated within one module, called the Rasterizer.
This will make it possible to experiment with different methods of rasterizing strategies, and optimizations fully transparent to the rest of the Pipeline. Basically the rasterizer gets basic graphics primitives like polygons with materials (textures) and takes care of getting these to the display in an efficient way.
Decision 3. OpenGL is the main 3D API for the Rasterizer.
No comment on this one!
Decision 4. Lights, Animations, Special Effects (like Particle Systems and Lens Flares) are modeled within Ketsji as an Actuator.
Examples: a Light Actuator can be switched ON and OFF by a Controller and a Particle System Actuator can be modified by a Controller.