Graphics Pipeline and Graphs
Graphics Pipeline and Graphs
Graphics
Computer graphics
3D-Computer graphics (3D-CG) currently used for Simulators, VR, Games (real-time) Design (CAD) Entertainment (Movies), Art Education
tennis for two pong spacewar (from l. to r.)
Real-time 3D-CG
Goals Generating 3D worlds visualize application domain specific data in >=3D (maybe using 3D metaphors). Implement user interaction with the virtual world. Operate in real-time, minimize lag, maximize simulation rate. Methods Computer graphics Implement depth cues discussed earlier, e.g., mapping 3D world to 2D pictures to simulate user-eye-specific views in interactive rates (stereoscopy, immersion). CG methods differ in primitives used and processed (e.g., vertex-, volume-, pixel-based, etc.). lighting model and calculation used (local or global models). direction of lighting application, shading (scanline shader, raytracer, etc.).
The 3D-pipeline
Application Geometry Rasterizer
Lighting
Projection
Clipping
Screen Mapping
rasterizer stage
The 3D-pipeline
Model Object object space Scale, Rotate Translate, Object Specify View Calculate Normal Illumination world Backface world (eye) (eye) space space Remove hidden surfaces Apply Normalizing Transformation, Clip normalized eye space Perspective Transformation / Projection
Shade, Texture
image space
1. 2. 3. 4. 5.
Object Space: Local objects frames of reference (aka Modeling Space). World Space: Where the scene and viewing specification is made. Eyespace (Normalized Viewing Space): Eye point (COP) is at the origin looking down the Z axis. 3D Image Space: A 3D perspected space. Dimensions: -1:1 in x & y, 0:1 in Z. Where Image space hidden surface algorithms work. Screen Space (2D): Coordinates 0:width, 0:height
The 3D-pipeline
Example Image Space Viewing Algorithm Steps: 1. Create World Space Scene: Position each object (scale, rotate, translate) Set up view parameters 2. Calculate Backface, illumination, etc.: Can Perform Backface removal here 3. Calculate and Perform World to Eyespace transformation 4. Calculate and Perform Perspective Transformation 5. Clip Objects 6. Perspective Divide Can Perform Backface removal here 7. Map to 3D Screen Space: Viewport Transformation 8. Perform Hidden Surface Removal 9. Draw to Screen (Scan Convert): Shade, texture
Realtime 3D Computer Graphics / Virtual Reality WS 2006/2007 Marc Erich Latoschik
DirectX
data CPU
Application
OpenGL
Rasterization
Frame Buffer
Hardware (NVidia)
VR-development tools
Several software packages and APIs support the real-time 3D-CG relevant processing stages. Complex tools support additional simulation tasks (auditory, tactile feedback, ). For mature simulations, the overall task is separated into
modeling the world and designing the interaction. (procedural)
VR modeling toolkits
AVANGO, World toolkit, Masive1-3, Dive, Lightning, game engines,
(declarative) modeling design
Scene Graphs
are data structures for 3D-CG:
DAG Directed Acyclic Graph or Tree (no multiple instancing).
View
T1
T8
T2
T4
View
S1
T3
T5
L1
Geo
T6
T7
may support local or global state inheritance. may support different types of intermediate nodes
Mater.
Geo
Geo
Geo
Application Graphs
are data structures for 3D-CG:
Can be either DAG or DCG (Directed Cyclic Graph).
6DOF sens T1
T8
T2
Interp.
T4
View
S1
T3
Time
T5
L1
Geo
6DOF sens
T6
T7
Geo
Geo
Geo