Rendering Engine Basics CS 446: RealTime Rendering - PowerPoint PPT Presentation

1 / 11
About This Presentation
Title:

Rendering Engine Basics CS 446: RealTime Rendering

Description:

Rendering Engine Concepts. Need to support several ways of accessing scene ... AI engine (e.g., sightlines) The Scene Graph. A hierarchy representing objects ... – PowerPoint PPT presentation

Number of Views:105
Avg rating:3.0/5.0
Slides: 12
Provided by: csVir
Category:

less

Transcript and Presenter's Notes

Title: Rendering Engine Basics CS 446: RealTime Rendering


1
Rendering Engine Basics CS 446 Real-Time
Rendering Game Technology
  • David Luebke
  • University of Virginia

2
Demo Time
  • Ewen Cheslack-Postava ATI 1800XT demos

3
The Rendering Engine
  • Job render the scene (duh)
  • From camera
  • From other viewpoints (why?)

4
The Rendering Engine
  • Job render the scene (duh)
  • From camera
  • From other viewpoints (why?)
  • Shadow maps
  • Render to texture e.g. for reflection maps
  • Multiple times from the same viewpoint (why?)

5
The Rendering Engine
  • Job render the scene (duh)
  • From camera
  • From other viewpoints
  • Multiple times from the same viewpoint (why?)
  • Multipass shaders with blending (show Enemy
    Territories video)
  • Z-only pass
  • Deferred shading
  • With different settings (why?)

6
The Rendering Engine
  • Job render the scene (duh)
  • From camera
  • From other viewpoints
  • Multiple times from the same viewpoint
  • With different settings (why?)
  • May not need color (Z-only pass, shadow maps)
  • Low-res texture and/or geometry LOD may be okay
  • May need different render target, resolution,
    viewport, GL state

7
Rendering Engine Concepts
  • Need to support several ways of accessing scene
  • Functional/relational/hierarchical
  • The scene graph
  • Spatial
  • For example, for culling or (rough) front-to-back
    sorting
  • Material
  • Sorted by state for efficient issue to GPU
  • Need to support updating object pose, deformation

8
Rendering Engine Concepts
  • Need to support several ways of accessing scene
  • Functional/relational/hierarchical
  • Spatial
  • Material
  • Interacts with other components!
  • Physics engine (e.g., collision detection)
  • Animation engine (e.g., IK, animation cycles)
  • AI engine (e.g., sightlines)

9
The Scene Graph
  • A hierarchy representing objects and
    relationships
  • The gun on the turret on the tank
  • The hand on the forearm on the upper arm on the
    trunk
  • The mouse on the cheese on the table
  • Typically represented as a DAG (whats that?)
  • Arcs represent relationships, sometimes xforms
  • Nodes represent objects, groupings of objects,
    sometimes properties of objects
  • What kind of things might nodes represent?

10
Scene Graph Node Examples
  • Objects
  • Groups of objects
  • LOD selectors
  • Animation effectors
  • Flipbook animation selectors
  • Transform drivers
  • Deformers
  • Skeletal animation players
  • Transforms
  • Useful state
  • Bounding boxes, partitions
  • Graphics state
  • Which textures, shaders bound
  • Material
  • Other state - glEnable(GL_FOO)
  • Raw geometry
  • Vertices and triangles

Note often actual geometry only exists at leaves
11
Scene Graph Traverals
  • Classical use of scene graph
  • Traverse in depth-first fashion
  • Apply effects of action nodes when reached
  • LOD selectors, animation effectors
  • Push/pop matrices when reach/leave xform nodes
  • Issue geometry as reached
  • Not very efficient for complex scenes (why?)
  • Unnecessary pushing/popping
  • Constantly switching graphics state
  • No spatial organization
  • Lots of recalculation for multiple passes
Write a Comment
User Comments (0)
About PowerShow.com