3D Computer Graphics in A Nutshell
3D Computer Graphics in A Nutshell
Graphics in a
Nutshell
Introduction
Application
Geometry
Rasterization
Application
Software-based processing / modifications
meshing
decimation
3D Model
collision detection
animation
Rendering
primitives
Geometry
Transforms
Lightning
Projection
Clipping
Geometry : Transforms
Model Transform
Model Coordinates
World Coordinates
Scaling, etc.
View Transform
Viewing Coordinates
Geometry: A Lightning
Equation
L
IR()
: r, g or b
Shininess (s > 1)
Geometry: Shading
Flat shading: each triangle has
the same color
Geometry: Projection
normalization
Viewing Coordinates
Virtual Device Coordinat
Perspective/
parallel
Geometry: Clipping
Geometry: Device
Coordinates
My Window
Unit Cube
Rasterization
Per-pixel operations: ray-tracing
Scan conversion of lines:
naive version
Bresenham algorithm
Scan conversion of polygons
Aliasing / antialiasing
Texturing
Screen = matrix
Graphics Hardware
Quickly evolving
Main principle: use of buffers
Color buffer :
1 byte per pixel (256) + lookup tables
2 bytes per pixel (65 536) high color
3+1 bytes per pixel bpp (16 millions) true color +
Depth buffer :
16 to 32 bit per pixel
Double buffering :
show the front buffer while rasterizing the
back buffer
swap buffers in synchronization with the
screen refresh
get the
Stenciltobuffer
: new frame
allows high-level operations (antialiasing, filtering
Conclusion
3D Graphics require intensive computations
Yet, 3D Graphics are time-critical
Bottlenecks
Display lists
Only low-level graphics have been described.
Scene Graphs
Selection and
tools