Shading/Lighting start-up assignment


This start-up assignment is designed to acquaint you with shading and lighting in the ATOR/RenderMan environment. It should also give you a better idea of your role in the shading/lighting team.

Your role

A great deal of the work involved in shading and lighting involves the use of sl, RenderMan's shading language. Using sl may seem like a monumental task if you aren't very familiar with programming. That's ok. Remember that input parameters for shaders are controlled from Glimpse (ATOR's shading interface). Tweaking these parameters to get a shader just right usually requires as much (if not more) work as writing the shader in the first place.

Compiling shaders

To use a shader, you must first compile it. Shaders are compiled with the shader compiler:

prompt% shader my_shader.sl

This will compile your .sl file into a .slo file, ready for use in a scene.

You might want to use the RenderMan Shader mode available for emacs, which provides some handy key-commands as well as context-based coloring. To do this, you'll want to copy (or symlink) the .emacs file we've set up:

prompt% cp /home/cse490/elisp/.emacs .

To compile from within emacs, just type control-C, control-C.


.sl, .slo, .sli, .vma

Briefly:

The assignment

Though this assignment won't be graded, it is pretty important that you do it to get used to working in this new environment. Do this assignment in a group, but be sure to work together (i.e., don't split the work up!).
  1. If you haven't already, do the ATOR tutorial. Copies of it are sitting in the animation lab. (You'll also want to check out the bugs and comments for this.)
  2. Read through The RenderMan Companion, chapters 14-16. Definitely skim through the Gallery of Shaders (chapter 16) to get a feel for how shaders work. These are also available online on the sl reference pages.
  3. Compile some of the sample shaders from chapter 16. These are available in /usr/local/prman/tutorial/ch16. Construct a simple scene in Alias (primitives are fine), and assign shaders to surfaces and lightsources. Render the scene.
  4. Shade the scene again with your own shaders. Have another person request a look for a shader and try to implement it. Make sure that the shaders you design have input parameters that can be changed from Glimpse. (e.g. you should be able to change the frequency of the stripes/checkers/wood grain, or the colors involved in the shader).
  5. Have another person request a different style of lighting and implement it. Design the light shader so that parameters can be tweaked in Glimpse.
  6. Begin working on things likely to be in the project. The cat, for example, is made of painted wood. Likely props include kelp in the tank and the spider plant outside. Don't worry about shading the exact models. Work on primitives first.