CMSC 435/634: Computer Graphics

Lab 1: Simple Scene in BMRT

Due Sept 17, 2000


The Assignment

Use BMRT (Blue Moon Rendering Tools, a shareware implementation of the Renderman Interface Standard) to model and render a die (ie. a cube with spots on the sides) which lies exactly within the extents (-1,-1,-1) to (1,1,1). Your die may be of any material you choose. Make your die as realistic as possible. Check with a real die to make sure you get the spots in the correct places. Your die should be illuminated by specific lights (i.e. don't use a constant surface or ambient light source). Select a viewpoint that shows more than one side of your die simultaneously.

Using BMRT

Read the handouts Renderman for Poets (for a very brief introduction to Renderman) and Blue Moon Rendering Tools: User Guide (for a information on running the BMRT programs). You may also chapters 1-3 of The Renderman Companion (on reserve in the library) to be useful. BMRT runs on a variety of UNIX platforms (including PCs running Linux). BMRT is currently installed on gl, rooted at ~rheingan/public/BMRT. BMRT is also installed on CS domain SGI and Sun machines. For SGI machines, the BMRT tree is rooted at /usr/cs/BMRT. For Suns, the BMRT is rooted at /usr/cs_sun/BMRT. If you've got some other computing resources available to you that you'd like to use, see me about how to install BMRT on your system.

Make sure to add /afs/ to your PATH so that you can find the rendrib program.

Your development cycle will go something like this:

	edit die.c 
	make die (you'll find a sample Makefile in ~ebert/cs435 on gl)
	die > die.rib
	rendrib die.rib (first set your SHADERS environment variable to $BMRT_ROOT/shaders)
	xv die.tif (full path == /usr/local/bin/xv)
    until done


Incremental development will probably result in the most efficient use of your time. For example, first try to get your program to draw a single side of the die. Once that's working to your satisfaction, add the other sides. When all sides are working, add the dots. Once you've got the basic die, keep refining to make it more realistic until you're satisfied or you run out of time (whichever comes first).

Some debugging tips

  1. If your image is blank, check the camera position and direction. It may be pointing away from your scene.
  2. If some primitives are missing, check their orientation (the order in which you have specified the vertices). Polygons are transparent when viewed from behind.
  3. If some primitives are still missing, check the lighting. Surfaces on which no light falls will be black, just like the default background.
  4. If you're having trouble keeping your die sides straight, give them different colors until you've got them behaving properly. Then you can change the colors to whatever you want.

What to turn in

Turn in this assignment electronically as 'lab1' using the submit mechanism. Submit a RIB file, the C program which generates it, and the image it creates. Your comments should include information about which computer platform (HW and OS) you developed your program on. Additional comments may help your grade in cases where your program does not operate entirely correctly (since they can give me insight into what you were trying to do). In any case, your programs are expected to be robust and easy to understand.

Main Page | Syllabus | Class Calendar

Course Assignments & Handouts | Links | Reading List