CompGraphics.ppt 801KB Jun 23 2011 12:11:04 PM
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
α
β
N
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 programmer’s 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.
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
α
β
N
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 programmer’s 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.