CMSC 435: Introduction to Computer Graphics

Assignment 6
Shading
Due May 16, 2005

 

Update: A sample project 6 can be downloaded here. The README contains all the information to get the RenderDotC renderer to work on the GL systems.

The Assignment

For this assignment, you will use RenderMan to render an image using several new surface shaders. The scene and shaders must be your own creation. You can use the scene from assignment 1, or a new scene you create for this assignment. In either case, the you must have at least three different shaders. You should exhibit three of the following shading features:

  1. Implement the "plastic" illumination model
  2. Use of bombing to implement a Stochastic pattern
  3. Use of turbulence or a image texture
  4. Use of displacement shaders

You can have each feature in a different shader, have them all appear in one, have every feature in every shader, or just about any other combination you want as long as you have at least three different shaders and can identify the use of each "required element".

Some of the grade will be awarded for creativity, originality and effort.

Extra credit

Add one or more volume or atmosphere shaders demonstrating one or more of the features above. The extra credit is extra, you must still include all of the required features in your surface shaders.

Helpful information

Steve May's RMan Notes, from a course at Ohio State, have many helpful tips on shader development strategies. The RenderMan companion, on reserve in the library, is a good user's guide for shading, including all functions and variables you can use in a shader. The RenderMan specification, is online and has even more details on everything you can do in a shader.

What to turn in

Turn in this assignment electronically using the 'submit' program by 11:59 PM on the day of the deadline. Be sure to include a Makefile that will build your project when we run 'make', and a readme.txt file telling us about your assignment. What (if any) help did you receive from books, web sites or people other than the instructor and TA? What extra credit features did you add?

Also submit everything we need to run your submission. Double check the output of submit after you submit to make sure you have not forgotten any important source files. Submit your Makefile, any headers and C/C++ files, at least THREE screenshots and any other auxiliary files we might need. Be sure to comment your code! You will not be graded on the presence or quality of your comments, but we will look at your code and anything that helps us understand what you did (or were trying to do) can only help. In any case, your programs are expected to be robust and easy to understand.