CMSC 435/634: Computer Graphics
Lab 1: Simple Scene in BMRT
Due Sept 17, 2000
MAKE SURE YOU CAN SUBMIT THE LAB
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/umbc.edu/users/r/h/rheingan/home/public/BMRT/bin
to your PATH so that you can find the rendrib program.
Your development cycle will go something like this:
repeat
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
Strategy
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
-
If your image is blank, check the camera position and direction. It
may be pointing away from your scene.
-
If some primitives are missing, check their orientation (the order in
which you have specified the vertices). Polygons are transparent when
viewed from behind.
-
If some primitives are still missing, check the lighting. Surfaces on
which no light falls will be black, just like the default background.
-
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