Assignment 1: Shading

CMSC 635, Due October 6, 2005


Choose one object from the set I bring to class. These objects were chosen to have simple geometry (sphere, box, cylinder) but interesting appearance. Create a shader or set of shaders to model objects like yours as closely as possible. For example, if your object is the crumpled sheet of aluminum foil, your shader should look as much as possible like a crumpled sheet of aluminum foil, but it's not necessary to replicate exactly the same wrinkles as appear in your sample object.

Pay particular attention to those aspects of the appearance that make objects of your type unique and interesting. Does it have interesting surface coloration? Bumps or pits? Interesting reflectance properties? Does light shine through it in an interesting way? You may include additional objects (background, etc) or lights to better show off your object, but the thing itself must be modeled through shading, not more complex geometry.

You can use the shading system of your choice, but you are responsible for aquiring software for your chosen shading system, and getting it to run, and producing any models or programs necessary. Options include

While they're written from a RenderMan point of view, I recommend Steve May's RManNotes as a resource no matter which shading system you choose. It has many helpful suggestions for developing shaders.

Show and tell

On October 11th, I'd like to spend just a couple of minutes each for you to show your original object and shader results and tell the class about the shader you created. Let me know in a README file in your submission which of your submitted files you'd like to show so I can have them loaded up and ready to go.

What to turn in

Turn in all files for your shaders, any support code, textures, and model files, and whatever interesting image, images or animation you feel will best show off your efforts. Also include a file named 'readme.txt' that Turn in these files by checking them into the class CVS repository on gl.umbc 11:59 PM Thursday April 29th.

You should also check in an informal one to two page write-up in a file named README in your assignment directory. While the write-up may be informal, I will count off for spelling and grammar. Please proofread before you turn it in. The write-up shoud describe what help you got, if any, what you did, how you did it, how well you think it worked, and what further work you might do. Include what hardware and software you used (it is not necessary to use the gl.umbc systems, though you must submit there), and what files you'd like to show at show and tell.

Using CVS

I have some directions on using CVS for submission. Your class repository is /afs/ We are using CVS to submit assignments, but it is really a revision control system. Use it!

To avoid the possibility of losing your work, check out your repository directory before you start. Do your work there, and checkin to CVS often. Only the version checked in at the deadline will be graded, but if you've been checking your files in and break something or accidentally lose files, you can always check out a second copy from a previous date to go back. Make sure your final version is checked in to your Assn1 CVS directory by 11:59 PM on the day of the deadline. You should include everything I'd need to render your project: all .c and .sl files, and any textures not generated by your shader. Also include an image of your final results (but not all of the intermediate .o's, executables, or other generated files).