CSL 859 Assignment 2

The goal of this assignment is to learn to use Cg and write a realistic graphics application with animation.

In short: simulate billiards. Make it as realistic as you can. The following is required:

  1. Model the table and the stick
  2. Model a single ball. Instance it thrice and update its position using a vertex program
  3. Generate shadows as the balls move
  4. Devise a mouse interface to hit the ball
  5. Write a pixel shader to shade the balls at per-pixel level. Implement both Phong's lighting model as well as Blinn-Cook-Torrance-Sparrow
  6. Physics of initial velocity, table friction and collision responses can be approximate -- you devise it.
  7. Enable motion blur as the ball moves

You may use glvu and glui for the user interface.