CS488 - Introduction to Computer Graphics - Lecture 22

Comments and Questions


  1. Intersection Tests


The idea is simple:

  1. Think about what you want your result to do and to look like.
  2. Choose technical objectives that make your result better than it would otherwise be
  3. Make an implementation plan
  4. Implement
  5. Demo your project

Types of Projects


  1. Still image
  2. Animation


  1. Game
  2. Visualization

Subjects for Projects







Rendering Style





For what to do

For project ideas

For possible objectives

More Ray Tracing

Recursive Ray Tracing

Just what the name says, but why would you do it?

  1. Unusual light paths for illumination, such as colour bleeding, reflection

Surface Normals

Implicit surfaces, i.e., given by f(Q) = 0.

Transforming the normal vector

  1. Under an affine transformation, M, Q goes to MQ, and Q' goes to M(Q').
  2. The new tangent, n1, is defined by n1.M(Q'-Q) = 0.

Constructive Solid Geometry (CSG)

Geometric primitives can make other geometric primitives by

  1. union
  2. intersection
  3. subtraction

The result is like sculpting; the problem is that describing the result is very difficult; the solution is

Texture Mapping

  1. Basic
    1. Start with a 2D image: pixellated or procedural
    2. Map 2D image onto primitive using a 2D affine transformation
      • Simple if the surface of the primitive is flat
      • otherwise, ...
    3. Backwards map intersection point with ray into the image to get the surface properties
  2. Normal Mapping (Bump mapping)
    1. Start with a difference surface, defined with respect to the surface
    2. Calculate the normals to the difference surface and map them onto the surface of the primitive
    3. Use the mapped surface models for lighting
    4. No occlusion, shadows are wrong, silhouettes are wrong, nobody notices!
  3. Solid Textures

Return to: