Due Date: Sunday, Apr 07 at 11:59pm
Homework 3 (may be updated later for more clarification)
Use
BMRT (Blue
Moon Rendering Tools).
You design an animation with soft shadows, radiosity, ray tracing...
Basically, you are required to write a RIB file (or files) that creates a set of
tiff images (at least 50 frames) for your animated story.
Requiring that you have to learn how to write a RIB file(s) for your created
animated story and use BMRT to render images for the story.
Points for including each of the following (no multiple points for multiple
objects).
[10] spline surface
[10] procedural surface
[5] bump mapping
[5] displacement mapping
[5] environment mapping
[8] soft shadows
[15] radiosity
[5] clouds
[5] lightning or similar special light effect
[10] voronoi graph
[20] story (put in a README file)
Or something else that comparable with the above items.
There will be bonus for animations that stand out from the group in quality, story, technique, etc.
Example of an animated story:
A palm tree (cylinder trunk, displacement texture, leaves procedural) on a sand
dune (spline surface) in front of blue sky, with coconuts (bump mapped), soft
shadows rendered, with an environment mapped sphere next to it. Coconuts
drop, with one bounce (randomly), clouds draw up (shadow calculation),
lightning, fog. The place the sites coconuts drop onto are the seed of a
Voronoi regions delineated by glowing green line segments.
Helpful links:
Check out these links:
A Pixar RenderMan Webpage by G. Scott Owen Instructional Page which includes the below links:
The Renderman Interface Specification by Pixar.
List of RenderMan Functions (a text file)
What is BMRT (i.e. RenderMan-Compatible Renderer):
BMRT is a ray tracer renderer that distributed free of charge. It is one of renderers that conforms to Pixar's RenderMan, which in turn is a photorealistic rendering technology called RenderMan Interface. RenderMan Interface is a standard communications protocol between modeling programs and rendering programs capable of producing, as you probably know, photorealistic-quality images. It is similar to PostScript, but for 3D primitives instead of printings. It uses RIB (RenderMan Interface Bytestream) files (e.g. an example of RIB file called shadtest.rib that renders the background, actually in tiff format, image). A RIB file is a metafile format that is a datafile that encodes a log of the calls to a procedural API. RIB is not a programming language. It does not have any programming structures, like variables or loops. You can use any text editor to write a RIB file, i.e. it is an ASCII file.
In short, BMRT provides both a ray tracing and radiosity hybrid renderer and a fast previewer that runs on top OpenGL. It is a popular implementation of RenderMan. It is a suitable tool for us to learn about advanced renderer without paying big bucks for Pixar's PRMan product - PRMan (PhotoRealistic RenderMan) is the most widely used renderer by Pixar.
Words of advice:
So far we do not have BMRT run on Linux system.
BMRT, however, is free and can run on Windows system as well. Therefore,
you should download and install it on your computer.
Try to start earlier on learning to write RIB files.
Check examples from BMRT, especially limbo.rib
and shadtest.rib.
By the way, RIB uses left-handed coordinate system
and the matrix multiplication is a row vector, [ x y z 1 ], a point in 3D,
multiplied by a matrix. This is different from OpenGL (OpenGL Redbook page
108, first paragraph) which multiplies a matrix by a column vector.
The effect of transformation is same as in OpenGL (OpenGL Redbook page 107-110).
For example, the below modeling transforms are pushed onto a stack and then
performed, e.g., for the sequence:
| Translate 0.0 2.0 1.0 Rotate 45 1.0 0.0 0.0 Scale 2.0 1.0 2.0 |
The order of operation is Scale, followed by Rotate, followed by Translate. |
We believe you are going to enjoy learning it, so have fun.
1) Use
Format
480 360 1
PixelSamples 1 1
for each image frame.
2) You must submit the following files :
-- all of rendered images from your RIB files. (frame 1 to at
least frame 50)
-- RIB file(s) and any supporting image
files that you use.
-- README with your animated story
and description of what your RIB file(s) supposed to do.
How to turn in your homework:
1. You need to turn in your homework at sand.cise.ufl.edu. Use ssh sand.cise.ufl.edu to login
sand.
2. Check the main pages of command turnin.
You are more likely to use the following command line:
turnin -c cap5705_sp02 -p hw3 README rib_file(s) image_file(s)
Turnin will acknowledge your submission. If you do not get an
acknowledgment, you probably will get an error message.
You can
submit as many times as you want, but SUBMIT ALL YOUR FILES
EACH TIME YOU RUN TURNIN.
3. To list the files included in your last
submission, use the command:
turnin -v -c cap5705_sp02 -p hw3
I will test your program in 'lin313-01.cise.ufl.edu' by the following steps.
1. Read your README file.
2. Examine your RIB file(s).
3. We may regenerate your rendered images.