CSCE 441 Lecture 39

From Notes
Jump to navigation Jump to search

« previous | Monday, April 28, 2014 | next »


The Future

CSCE 641: Advanced Computer Graphics:

  • Anti-aliasing
  • Advanced rendering techniques (ray tracing, radiosity)
  • Non-photo realistic rendering
  • Volume rendering
  • Shadows
  • Computer Animation

CSCE 645: Geometric Modeling

  • Representation and analysis of smooth curves/surfaces
  • Operations on shape (CSG)
  • Surface Reconstruction

CSCE 443: Game Development

  • Design and build a game over a semester
  • Graphics, networking, AI, physics, software engineering, etc.
  • Submit game to IGF competition?
  • e.g. Revision119, the Fall of Evil


Polygon Models

Dense meshes

  • expensive to animate
  • Usually for static object
  • high bandwidth

Coarse meshes

  • cheap to animate
  • faceting artifacts

Level of Detail

  • The further away something is, the fewer polygons are needed to make the shape look good.


Goal

Use completely smooth surfaces. Eliminate faceting artifacts

Let GPU worry about level od detail


History

Xbox 360

  • Launched Nov 22, 2005
  • GPU by ATi
  • Contained new feature called a "tessellator"

Hardware Tessellation

  1. Send coarse mesh to GPU
  2. animate coarse mesh on GPU
  3. Expand geometry on GPU at last second


Advantages:

  • Reduced CPU/GPU bus traffic


Real-Time Subdivision Surfaces

Too slow!

Polygons convert to polynomials

Extraordinary vertex:

  • where more that 4 polygons touch a vertex
  • represented by an infinite number of polynomials
  • this was bottleneck

Solution:

  • Replace each extraordinary patch with single polynomial (bezier) patch
    • Bezier patches actually cannot independently control normals of surfaces
    • Use Gregory surfaces instead (break apart control points of boundary edges
  • Create a smooth surface to approximate subdivision surface
  • Allow for any number of extraordinary vertices
  • quads or triangles


DirectX 11

  • Hull shader: converts irregular control mesh data (e.g. extraordinary points) into regular patch data
  • Tessellator generates a bunch of polygons distributed over the surface.


Conclusions

  • Handles quad-dominant control meshes with or without boundaries
  • 12 times faster to evaluate than exact subdivision surfaces
  • Low memory/fetch overhead
  • Error to "true" subdivision surface is small
  • Possible to generate much more detailed surfaces with displacement mapping.