The 3D Pipeline - PowerPoint PPT Presentation

About This Presentation
Title:

The 3D Pipeline

Description:

The 3D Pipeline Jim Van Verth (jim_at_essentialmath.com) Lars M. Bishop (lars_at_essentialmath.com) The 3D Pipeline Three problems: want to construct hierarchy of objects ... – PowerPoint PPT presentation

Number of Views:91
Avg rating:3.0/5.0
Slides: 15
Provided by: JimV6
Category:
Tags: around | pipeline | trip | world

less

Transcript and Presenter's Notes

Title: The 3D Pipeline


1
The 3D Pipeline
  • Jim Van Verth (jim_at_essentialmath.com)
  • Lars M. Bishop (lars_at_essentialmath.com)

2
The 3D Pipeline
  • Three problems
  • want to construct hierarchy of objects
  • transformation of object combined with its
    children
  • want to manipulate camera
  • viewing transformation
  • want to render objects to screen
  • projection/screen transformation

3
The 3D Pipeline
  • Where geometric objects are transformed through a
    series of spaces
  • They are fed in as 3D objects in their own space
    (model space)
  • They come out as pixels on the screen (screen
    space)

Model
World
View
Screen
NDC
4
Model Space
z
x
y
  • AKA local space, object space
  • Where object vertices are defined
  • Origin at center of object (or at pivot)
  • Right-handed is common
  • Z up arbitrary, also see Y-axis up

5
World Space
z
x
y
  • Where objects are placed
  • Origin at center of world or scene
  • Right-handed is good (consistency)
  • View position, orientation usually expressed here

6
Hierarchical Spaces
  • Suppose have arm connected to body in world
  • First transform arm to body space
  • Then transform arm to world space
  • Standard order scale, rotate, translate
  • Often, objects are modeled around a pivot point
    (e.g. shoulder for arm)

7
Hierarchical Transforms
  • First transform arm to body space

MAB TARAsA
Arm in Arms Model Space
Arm in Bodys Model Space
DEMO
8
Hierarchical Transforms
  • Then body, arm to world space

MBW TBRBsB
MAW MBWMAB
DEMO
9
Hierarchical Transforms
  • In practice, body and arm have separate
    transforms
  • Arm transform is relative to body
  • Draw body with its transform (MBW)
  • Draw arm with concatenation of body and arm
    transforms (MBW MAB)
  • Objects can move independently

10
Scene Graph
  • Common structure for hierarchical scenes
  • Jointed (or skinned) characters are the most
    frequent applications
  • Using like a tree doesnt have to be
  • Instancing makes it a DAG

11
Example Scene Graph
Node
Node
Body
Scene Graph need not be a binary tree! Nodes can
have as many children as needed
Node
Turret
Barrel
12
Scene Graph(One Implementation)
  • Spatial
  • Base class, handles transforms, bounds
  • Node
  • Maintains hierarchy (array of children)
  • Geometry
  • Leaf nodes, contain renderable geometry

13
Using Scene Graph
  • Update transforms
  • Pass down from top to geometry nodes
  • Concatenate and store world transforms at each
    level
  • Used for collision, culling
  • Render
  • Recursively call Render() on all children
  • Bounding volumes allow for fast culling

DEMO
14
References
  • Foley, James D., Andries van Dam, et. al.,
    Computer Graphics Principles and Practice,
    Addison-Wesley, Reading, MA, 1990.
  • Blinn, Jim, Jim Blinns Corner A Trip Down the
    Graphics Pipeline, Morgan Kaufman, San Francisco,
    1996.
  • Eberly, David H., 3D Game Engine Design, Morgan
    Kaufmann, San Francisco, 2001.
Write a Comment
User Comments (0)
About PowerShow.com