## Project #1

### Requirements:

1. Use RenderMan to render some geometry (your choice), covered with elliptical dots.

2. The definition of "elliptical dot" is somewhat flexible. But, they must be predictably elongated, as set from the .rib file.

3. The A and B diameters must be set on the Surface line in the .rib file, like this:

Surface "ovals" "Ad" 0.025 "Bd" 0.10

4. Apply RenderMan lighting.

5. This must be done procedurally, i.e., with equations in a Surface Shader program. No external textures allowed.

6. The choice of geometry is up to you. Keep it simple at first, then, if there is still time, feel free to get more creative.

### Hints:

• Start with the dot.rib and dot.sl files and work from there.

• Use the ellipse equation found in the Stripes, Rings,and Dots notes.

• You can key off of anything you like. (u,v) works well. (x,y,z) works well too, depending on the geometry. Take a look at the RenderMan quadrics to see how they are drawn in (x,y,z) and parametrized in (u,v). Note that they are defined as extending in Z, which means towards and away from the eye, unless you rotate them first.

• For some shapes, strange things happen in (u,v) and (x,y,z) around the North and South Poles. Don't worry about this. (This also happens in visualization with longitude-latitude Mercador map projections.)

• Some RenderMan shader instructions you might find handy:

 Setting a point (3-element array): point abc = point( a, b, c ); Creating a vector between 2 points (3-element array): vector abcdef = def - abc; Getting just the X component of a point or vector float dx = xcomp( abcdef ); Getting the length of a vector float len = length( abcdef ); Getting the x-y-z distance between two points float dist = distance( abc, def ); Getting the x-y-z distance between two points float dist = length( def - abc );

### The Turn-In Process:

1. Your turnin will be done at http://engr.oregonstate.edu/teach and will consist of:
1. All source files (.rib, .sl) You can zip this all together if you want.
2. Your PDF report describing what you did, why it works, and all of your images. Do not put your PDF into your zip file. Leave it out separately so my collect-all-the-PDFs script can find it.

Submissions are due at 23:59:59 on the listed due date.

2. Your PDF turnin will consist of:
1. A cover page (name, Project #1)
2. Source listings (.rib, .sl)
3. A prose explanation of what you did and why it worked. (Your submission will not be considered valid unless you can explain why it works.)
4. One or more color images showing what your results were