Computer Graphics 2005/2006 Assignment

For this assignment you are requested to implement a 3D maze. Your implementation should create a set of adequate structures (cubes, walls, etc.) through which one (a camera) can navigate. Some (or all if you so wish) of the adjacent structures should have a passage in between them so that the camera can pass through it. Navigation through the maze should be done using fly-by-wire animation and NOT by freely moving the camera through space. Thus if you want to move from the centre of one cube (room) to another adjacent cube (room) you just move the camera from one centre to the other. Hence a real collision detection algorithm is not necessary since you'll stop moving forward (if there is no opening forward) at the centre of the cube. You then need to determine where to move next. So you have to rotate the camera here. If your maze is a fully connected one then you can clearly go wherever you want, i.e. just point your camera (animation) to the next structure (cube or whatever) and then move forward. Rotations of the whole structure while the camera is moving through the maze is NOT required. Your implementation should have (34 marks):

  1. Static (remains the same for each execution of the program) or dynamic (changes with each execution of the program) contruction of a 3D maze + automatic navigation (following a predefined path) through this maze. All the faces of the 3D maze should use some textures/colour. Use some ambient lighting to light up the maze.
  2. A documentation of your design/implementation. In it try to explain how you implemented the 3D maze (animations, structures used, etc). Describe also the main classes used for the assignment. 5-10 pages should be sufficient.

Deadline for the handing in of the assignment is Monday 16th January 2006. Please include both source and executable files on a CD attached to your documentation