CS488 - Introduction to Computer Graphics - Lecture 22

Comments and Questions


Review

  1. Intersection Tests


Projects

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

Contemplative

  1. Still image
  2. Animation

Interactive

  1. Game
  2. Visualization

Subjects for Projects

Architecture

Art

Game

Geometry

Nature

Simulation

Rendering Style

Photorealistic

Non-photorealistic

Objectives

Resources

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: