Monday, September 19, 2005

Chapter 2 : Through the pipeline

Real-Time Rendering :
This chapter discusses the pipeline architecture used in current real-time rendering systems (PCs, game consoles). Broadly, there are 3 stages : application, geometry & rendering. In more detail :
The application stage executes in SW and feeds the geometry stage. It handles user interaction. It also deals with collision detection. Other stuff includes "texture animation, animations via transforms, geometry morphing, or any kind of calculations that are not performed in any other stages".
The geometry stage is broken up into :
  • Transforms : Converting from model coordinates to world coordinates to eye space.
  • Lighting & Shading : Texturing, color interpolation, lighting.
  • Projection : There are 2 types - Orthographic & Perspective. Orthographic transforms the view box to the unit cube. Perspective transforms the view frustum to the unit cube. (The unit cube has edges of size 2, center at the origin)
  • Clipping : Cull primitives that are partially or completely outside the unit cube to save work.
  • Screen Mapping : Shift to screen coordinates.
The rasterizer stage is described as one unit. This stage handles the conversion of primitives to pixels. That includes Z-occlusion, alpha blending, operations using stencil buffers.

My only nit with this chapter was the stylistic differences between the geometry section and the rasterizer section.