You will be building a 3D version of Asteroid Arena.ARENA The arena is now a 3D cube centred at the world coordinate system origin. EASY (12) - Your ship can fly around inside the arena but will move back to starting point if it collides with any boundary of the arena. Draw the arena walls as a light grey grid/mesh. MEDIUM (16) - All of EASY, plus: If your ship gets within some distance from an arena wall, change the colour of the mesh to warn the player that they are about to collide with the wall and die. Only the one wall which your ship is approaching should change colour. The wall should change back to its original colour as soon as the player is a safe distance away.
SPACESHIP & GUN MODEL Your spaceship and gun must be a 3D model made up of a set of triangles or quads. EASY (6) - You must use at least two different surface materials which each define at least diffuse and specular material properties. MEDIUM (10) - All of EASY, plus: Your ship and guns should also be partially or fully texture mapped in addition to its material properties.
ASTEROID MODEL EASY (6) - Your asteroids should be a perfect sphere which is smooth shaded and has material properties which show a specular highlight. You may use the GLUT functions for this. MEDIUM (10) - All of EASY, plus: You may NOT use GLUT functions for drawing the sphere. Generate the asteroid vertices procedurally and specify vertex normals and add a texture map to your asteroid in addition to the material properties.
ASTEROID MOVEMENT EASY (6) - Asteroids should spawn in a random place outside the arena and be launched towards the current player location at a random speed. Each asteroid should be a different size determined randomly when it is spawned. Spawn multiple asteroids in waves, like in Assignment 1. Asteroids move along their trajectory without any rotation. Asteroids do not collide with any other asteroids and they pass through the arena walls.
LIGHTING EASY (2) - Enable OpenGL lighting and add a small amount of ambient lighting to the entire scene. MEDIUM (4) - All of EASY, plus: Add a single directional light to the scene, and make sure that surfaces which have specular material properties show it.
CAMERA and SHIP MOVEMENT EASY (12) - Your ship movement model is completely up to you, but it must use a combination of Keyboard and Mouse controls. Your camera must be positioned somewhere behind the ship and may remain fixed at that position at all times. This ship may remain in a fixed location on-screen while you fly through space.