CS448 Programming Assignment #2 -- Multi-Pass OpenGL
This assignment is due at the start of class on Monday, April
17.
Using the files in /usr/class/cs448/assignments/a2/ as a
starting point, create a surface similar to either the marble, flame, or planet from Ken
Perlin's lecture.
Some additional comments on this assignment:
- You may use noise or environment map textures as building blocks,
but you are not allowed to just create the surface as a single
texture -- after all, the idea is to learn about Multi-Pass.
- Don't expect an exact match, just try to reproduce the character
of the images. In particular, we don't expect an exact match for
the lighting -- the diffuse and specular provided are close
enough. And we certainly we don't expect an exact match from the
noise function. The one I provided is a cheap 2D interpolated
value noise, while Ken Perlin's images were generated using a
better 3D gradient noise.
- You should be able to do the assignment using only variations on
the rendering passes in main.cpp. However, if you choose
you may try to do it in fewer passes using other OpenGL features.
Look at the OpenGL Programming Guide and the SIGGRAPH course notes
for Advanced Graphics Programming Techniques Using OpenGL (http://reality.sgi.com/blythe/sig99)
for ideas.
- We reiterate the statement from the last assignment: Don't invest
infinite amounts of time on this assignment.
- Use the same machines for this assignment as you used for
assignment 1.
- When you are done, type "cs448submit hw2 directoryname",
where directoryname is the name of the directory
containing the assignment files. This script will copy the files
to our incoming-assignments directory. Note that re-submitting
overwrites the previous submission.
- Unless you get really fancy, your changes will probably be limited
to main.cpp. You should also turn in a printout of this (and any
other files you created or modified) at the start of class on
April 17.