It’s time to test out that perspective projection with long corridors. Your task in this class is to code up a maze traverser. Grab the maze.obj file in W455. The entrance to the maze starts roughly at (0, 0, 0) in object space. Apply no extra transformations, i.e., object space = world space. Put a camera in your scene, standing at (0, 0, 1) and looking at the entrance. Advance and strafe and yaw your way through.
The maze model has a lot of overlapping triangles, which will look terrible when you render it. Issue glEnable(GL_CULL_FACE) to disable drawing faces that point away from the viewer.
For lighting, use a headlamp. That is, put the light_position at (0, 0, 0), the same as the eye’s position in eye space. The effect is that the light source will move as the eye moves, a great feature for tunnel traversing.