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. I
t 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!