VIZA 616 - Rendering & Shading
Spring 200

Homework 04
Due 12:30pm Wednesday, February 19, 2003

Last updated 2/12/2003



Reading Assignment: Chapters 10 and 11 and Chapter 12 through section 12.5 in "Advanced Renderman"

Your task for this week is to create two original procedural RenderMan shaders.  The goal is to have these shader procedurally create some interesting patterns or shapes on the shaded surfaces.  One of these shaders will not use any noise functions while the other will use noise functions.  Your pattern generation approaches could use line drawing, distance functions, polar coordinates, boolean layering (intersection, union, etc.) and any other interesting techniques you can muster to create some pattern or shape on your surfaces.

You will find this assignment much more useful if you decide what patterns you want before you try to make something. Try to think of the surface effect that you want to render, and then go make it!  Some example patterns/shapes include:

Tire treads (On a road or on the tire itself).
Text (Think polar and cartesian coordinates. Text in a circle!).
Digits on a calculator.
A watch face. (Just lines or Roman numerals?)
The "Lab" frisbee. (Lots of stars and stripes...)
Celtic knot work.
Think spirograph. . .
Try to be creative and develop something that is interesting and original!

We know there are source code examples for many of these available - so make sure yours are original!

One of the more interesting possibilities would a pattern (such as a clock face, text, or digital numerals) with the ability to 'feed' the shader a value such as time or number to display, and letting the shader figure out how to draw the specified pattern correctly. This allows one shader to animate the surface pattern without the need for a myriad of texture maps. Think about it.

You will need to create interesting scene surfaces upon which to apply your shaders.

You will need to turn in:

1) The README file.
2) The shader source code for your two shaders.
3) The compiled Renderman shaders.
4) The RIB or Maya for your Renderman scene(s).
5) Any texture files used in your shaders.
6) At least three rendered images: one for each shader alone plus one that uses both shaders. Jpeg format please!