You are on page 1of 17

3D Computer

Graphics in a
Nutshell

Guillaume Caumon, January


2002

Introduction

Computer graphics is concerned


with all the aspects of drawing on
computers
Performance is critical
3D Computer Graphics deals with
the generation images from 3D
objects.

The Rendering Pipeline


Pipeline = Linear succession of operations

Rendering speed = speed of the slowest step (b

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: lighting and


shading

Simulate interaction of light with matter:


- Emission
- Absorption
- Reflection

Geometry: A Lightning
Equation
L

IR()

Ambient light coefficient


Material color Specular Coeficient
Ex: (.1, .1, .1)
Ex: (1, 0, 0) Ex: (1, 1, 1)

: r, g or b

Shininess (s > 1)

Geometry: Shading
Flat shading: each triangle has
the same color

Gouraud shading: colors are


interpolated between vertices

Phong shading: normal are


interpolated and colors computed
for each pixel

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

Graphics Hardware (II)

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

See OpenGL programmers reference for more details

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

See OpenInventor, VTK, etc.

References and further


reading

Foley, van Dam, Feiner, Hughes, Computer Graphics


Principle and practice, 2nd edition. Addisson Wesley, 1997
Moller, Haines, Real-Time Rendering. AK Peters, 1999 (
http://www.realtimerendering.com )
The Graphic Gems series, Academic Press.
Neider, Davis, Woo, OpenGL Programming Guide.
Addisson Wesley, 1993
Wernecke, The Inventor Mentor, release 2, Addisson
Wesley,1994
Schroeder, Martin, Lorensen, The Visualization Toolkit,
2nd edition. Prenctice Hall, 1998
Proceedings of Siggraph, Visualization, Eurographics,
etc.