5CCGD003W 3D Graphics Programming - 3D Real-Time

Post New Homework

3D Real-Time Application

Learning Outcomes Covered in this Assignment:

This assignment contributes towards the following Learning Outcomes (LOs):

LO3 Be able to design and implement 3D real-time scenes that respond to user interaction;
LO4 Demonstrate knowledge and understanding of the principles of 3D graphics programming and the underlying mathematics;
LO5 Be able to critically assess the current problems and appreciate some of solutions available through practical exercises and demonstrate knowledge and appreciation of some research related issues in computer graphics;
LO6 Communicate and present ideas by oral, visual and written means;

3D Space Game

Synopsis

You are to create a simple 3D space game using the perspective view and in first person. The object of the game is to fly a spacecraft to collect semi-transparent crystals (see Appendix C) through a series of six slowly rotating hoops whilst trying to avoid the hoop edges. glutSolidTourus() and glutSolidIcosahedron() can be used to create the hoops and crystals. The hoops/crystals shall rotate about their axis (with the crystals rotating in the opposite spin to the hoops) but otherwise be fixed in space and it is up to you where you place them. The world is bounded by an internally textured sphere and the whole game world exist inside this sphere. In the scene, there shall also be a spinning off-centre textured planet that rotates slowly .

The spacecraft can move up, down, left and right and you should use the arrow keys ↑↓ to the craft up and down. The spacecraft can also rotate about its own z axis using the ←→ keys. The a and d keys strafe the craft left and right. using the z and x keys while the w and s move the craft forward and backward at constant speed controlled by the w and s key respectively.

To indicate which hoop to go through next, the crystal in the target hoop shall change colour (to green for example). Once through the hoop the crystal should disappear and the next crystal should change colour until all six hoops have been traversed.

Note, as the ship is easier to control going mostly up-down-left-right you may want to align some hoops for demonstration purposes.

Note that as the ship rolls the whole scene should rotate realistically. This means the star backdrop, hoops, crystals, and planets need to rotate in the opposite direction. You may choose to fix the star backdrop and planet as always apparently the same distance from the ship (viewer) as this will give a much better appearance of these distance. This is not a requirement and is simply to improve realism.

Keys summary
↑↓ up and down
←→ roll ship anticlockwise and roll clockwise
w,s forward and back
a,d strafe left and strafe right
h - turn HUD on and off

Lighting

The scene should be suitably lit so that are object are clearly seen and do not lose their 3D aspect by having lights that ‘flatten' the appearance. Otherwise, you are free to experiment with lighting to achieve the best effect.

Head Up Display (HUD)

The scene shall contain a 2D HUD and a texture will be provided. You are also free to experiment with either a purely drawn HUD or your own textures. The HUD (2D overlay) as well as the HUD texture shall display in text : position in (x,y,z), roll (in degrees) on the HUD.

Textures Summary (note: use the one provided on Blackboard)

Object to be textured are the hoops (use glutSolidTorus), the planet sphere (use a quadric), the HUD ( a 2D quad), star backdrop (textured inside of quadric sphere). All textures are provided.

Attachment:- Graphics Programming.rar

Post New Homework
Captcha

Looking tutor’s service for getting help in UK studies or college assignments? Order Now