CS559 Spring 2001: Project 2
A Maze Rendering Program
Due Date: 5pm Friday April 13
Project Description
Project Source Code
More Hints
- In class I said that typically clipping is performed after the
projective transformation because it is easier. For this project,
clipping is best done in world space because the visibility
computations are best done there and clipping is an essential part of
those computations.
- In Edge.h, the comment for the interpretation of the opaque
member variable is ambiguous. An edge for which opaque is true
cannot be seen through and cannot be walked through. That means
an opaque edge can be seen and should be drawn.
- The relevant lecture slides for the projection required in this project
are the two labeled "Basic Projective Projection" and "Basic Case".
Note that those slides assume that the viewer is looking along the
negative z axis. You will need to understand them then modify them
approriately to fit the needs of this project.
- In the comments for Cross_Param() in LineSeg.h, I say "This will return
parameters values outside the range 0,1". I should say "This might
return parameter values that are greater than 1 or less than 0."
- All the code was written with 8 space tabs, whereas the Visual C++
editor defaults to 4 space tabs. This makes the code hard to read, and
can be fixed by resetting the tabstops in the editor to be 8 space tabs.
One of the stupidities of microsoft's devleopment environment. I could rant
further, but I won't.
- In performing the viewing transformations, it is easiest to think
of them as a sequence of individual transformations, and apply
them one at a time. It is more complex to try to build a single matrix
to do them all at once.
Back to CS559 Home Page