CS594
Computer Graphics
Lab 3
Objectives
Assignment Description and Provided Resources
Three new sub-directory under class directory:
The
basic steps you will go through in this lab include:
¡P
first
render the scene from the view of the camera, but only use ambient light
¡P
second
pass, render with shadow turned on
¡P
render the
shadow buffer from the view of the light source
¡P
render from
the view of camera, for each fragment
¡P
look up the
shadow map, and make the comparison of the shadow test with multi-texturing
units.
¡P
only render
the fragments that are not in shadow at fully-lit colors
Extra
credit
Try to
arrange a scene with the models that you have access to. (We will talk about
scene graph in the later half of the semester. But with not too many object, it
is doable without using scene graphs.)
¡P
create a
scene where a Buddha or a sculpture is standing in front of a mirror in a room
with texture mapped, emboss bump mapped floor, with shadows. 30%
¡P
anything
else you would like to do. Please run it by me before you do it, so that I have
an idea how much extra credit I would be giving out
Detailed Lab Setup Information
Please consult TA's page.
Suggested Strategy
The assignment description is meant as a brief guidance of what steps you need
to go through. It
is highly desirable for you to have a big picture and seriously spend a couple
hours designing your software, and think about the trade off that you would
face, BEFORE you actually go implement
anything. You should not only consider performance, readability,
maintainability but also possibilities for further development of new functions
as key issues in your design.
This would end up saving you a lot of time later on, because of less number of
patches you have in your code and a much more efficient debugging process in
result.
During your implementation, an
incremental way of development is always helpful with debugging too. As usual,
it is strongly suggested that you start early on this lab. There is a lot of
stuff involved in this lab.
Finally, you are strongly
discouraged to 'cut and paste' from the demo source code into your own code.
You should thoroughly understand how those advanced OpenGL features are used
and program your own software accordingly. The source code similarity utlity is
up running in our department. Our course is using that now. Yes, discussion is
encouraged, but you must do your own work.
This lab is expected to be done
using the Crux lab machines only.
Happy rendering!