Computing Library › Visualization & Interfaces
Visualization & Interfaces

The Rendering Pipeline

Turning geometry into pixels follows a fixed sequence of stages; knowing them is the basis for every real-time 3D visualization.

From scene to screen

Real-time rendering transforms 3D geometry into a 2D image through a pipeline of stages, most of which run on the GPU. Understanding the stages explains both what is possible and where performance is spent. The pipeline is the same idea whether accessed through WebGL, a game engine, or a scientific toolkit.

The main stages

Kronos motion — confinement time

Coordinate spaces

Geometry moves through model space to world space to view (camera) space to clip space and finally to screen space. Each transform is a matrix multiply. Getting these transforms right is most of the work in placing and orienting objects and the camera.

Depth and transparency

The depth buffer resolves what is in front. Opaque objects can be drawn in any order thanks to depth testing, but transparency requires sorting or special blending, which is why transparent isosurfaces and volume rendering need extra care.

python
# clip = Projection * View * Model * position
# position_screen = viewport(clip / clip.w)

Kronos use

The browser machine models and field renderings are built on this pipeline; knowing it guides where to spend the client's limited GPU budget.