Real Time Graphics Assignment
DESCRIPTION
|
Module |
Real Time Computer Graphics |
|
Title |
Flight Simulator |
Overview
You are required to develop a real-time flight simulator written in MFC, C++ and OpenGL. The tool is required to simulate the aircraft flying over a fully textured undulating terrain surface. The user is able to pilot one of the aircraft and fire missiles at the other aircraft. Particle systems are to be used for the missile’s exhaust plumb and the explosion.
Detailed requirements:
1. Three viewports are required within the main application windowa. A perspective view of the terrain from the pilot’s (user) perspective. The perspective camera position, pitch and yaw are controlled from the keyboard or mouse.b. A plan map view of the terrain, using orthographic projection. The orthographic camera is kept in sync with the perspective view camera.c. A perspective view of the terrain from the missile’s perspective. The perspective camera position, pitch and yaw are controlled with a simple missile model.2. The terrain surface is generated from separate DEM (Digital Elevation Models) files. Each DEM file provides height data at 25m resolution for one square kilometre tile of terrain. The files are in ASCII format and will be supplied.3. The terrain surface is implemented using multiple display lists. All terrain is loaded at start-up.4. A paging system is to be implemented. The application is only permitted 9 active tiles (display lists) of terrain data at any one time. As the perspective camera is moved across the terrain surface the paging system selects only the 9 closest tiles (display lists) for rendering.5. At least one directional light is included in the scene. At least one of the directional lights is controllable from the keyboard or mouse.6. Depth cuing is included in the scene.7. The aircraft’s shadow is to be placed on the terrain surface. You can assume that the shadow is cast directly downwards.8. The user can fire a missile from the user’s aircraft towards an enemy aircraft. A simple flight model is required for the missile.9. A particle system is used to represent the exhaust plumb from the missiles engine and explosions between missile and aircraft.10. The terrain surface is represented in 5 alternate ways (switchable from the keyboard):a. Wire frameb. Flat shadedc. Smooth shadedd. Texturede. A blend of Texture and Smooth shading11. Aerial photos of the terrain surface are textured onto each tile. An image associated with each of the DEM files, will be supplied.12. An ASCII index file is to be created (and used by the application) that links the DEM files and texture files with their position on the terrain surface.13. 3DStudio models are loaded into the flight simulator.14. Collision detection between the aircraft and missiles15. A class diagram that clearly describes your design.16. An interaction diagram that clearly describes significant algorithms within your design.17. The C++ is to be compiled and linked under VS.Net18. The code is to be portable across any standard OpenGL PC platform and therefore should only use basic commands (avoid vendor specific extensions)19. Innovation and novelty. 5% of the marks are reserved for innovative and novel features. E.g. Stereoscopic display, dual headed display.
Dates
|
Date of publication |
6th November 2002 |
|
Date for submission |
9:00 on 6th December 2002 |
This assignment is to be submitted (email w.j.viant@dcs.hull.ac.uk) no later than the time and date shown above, unless an extension has been authorised. Extension forms are available from the Dept. Office.
BEFORE submission, each student must complete a cover sheet (attached below).
Workload guidance
It is estimated that you should typically spend between 80-100 hours on this assessment.
Late penalties
For work submitted late the penalty is loss of 20% marks per day. Work that is 5 or more days late will automatically be graded as FAIL, and no re-submission will be allowed.
For full details, see student handbook.
Format of the Submission
The submission cover sheet (attached below) forms the front page of your submission.
Please use the submission cover sheet to perform a self assessment of your submission. You should indicate the percentage with which your submission meets each requirement. Provide appropriate comments in the space provided.
Submit this cover sheet as a Rich Text Format (rtf) file within your submission zip file.
The details of how to submit are explained in Submission policy for module 08960.
Plagiarism policy
The work which you hand in must be your own. Sharing of data is not allowed unless the assignment specifically permits it. Your attention is drawn to Plagiarism policy for module 08960.
ASSESSMENT STRATEGY
Module 08960
The assessment strategy comprises 70% of the module marks.
The overall assessment strategy is designed to evaluate the student’s achievement of the module Learning Outcomes, and is subdivided as follows:
|
|
Learning outcome |
|
1 |
Develop an object-oriented design that meets identifiable requirements |
|
2 |
Demonstrate awareness of the relationship between an object-oriented design and implementation |
|
3 |
Demonstrate awareness of performance issues and programming pitfalls within the C++ language |
|
4 |
Deploy a Computer Aided Software Engineering (CASE) tool to create and manipulate software designs expressed in the Unified Modelling Language (UML) |
|
5 |
Implement an effective real-time C++ application within an integrated development environment |
Module 08961
The assessment strategy comprises 30% of the module marks.
The overall assessment strategy is designed to evaluate the student’s achievement of the module Learning Outcomes, and is subdivided as follows:
|
|
Learning outcome |
|
1 |
Design 3D graphics programs for real-time graphics |
|
2 |
Describe the algorithms and techniques involved in 3D graphics |
|
3 |
Implement 2D and 3D graphics programs in C/C++ using the OpenGL API |
|
4 |
Implement simple collision detection response algorithms |
SUBMISSION COVER SHEET
(To be complete by the student and submitted with the assessment)
|
Module |
08960 / 08961 |
|
Title |
Flight simulator |
|
Student name |
|
|
|
Requirements |
% complete |
Comments |
|
1 |
Three viewports: a. A pilot’s perspective view. The perspective camera position, pitch and yaw are controlled from the keyboard or mouse. b. A plan map. The orthographic camera is kept in sync with the perspective view camera. c. A missile’s perspective view. |
|
|
|
2 |
Generation of terrain surface from DEM files |
|
|
|
3 |
Representation of the terrain using display lists |
|
|
|
4 |
Paging system that activates and deactivates the terrain display lists |
|
|
|
5 |
Light sources, including a dynamic light |
|
|
|
6 |
Depth cuing |
|
|
|
7 |
The aircraft’s shadow on the terrain surface |
|
|
|
8 |
A missile that is fired at an enemy aircraft |
|
|
|
9 |
A particle system for missile’s exhaust plumb and explosion |
|
|
|
10 |
Terrain surface rendering:
|
|
|
|
11 |
Texture mapped aerial photographs |
|
|
|
12 |
ASCII index file to link the DEM files and texture files with their position on the terrain surface |
|
|
|
13 |
Loading of 3D studio models |
|
|
|
14 |
Collision detection between aircraft and missiles |
|
|
|
15 |
Class diagram |
|
|
|
16 |
Interaction diagram(s) |
|
|
|
17 |
VS.Net compatible C++ |
|
|
|
18 |
Portable OpenGL |
|
|
|
19 |
Innovative and novel features |
|
|
Note: If you submit your assessment you are implicitly stating that your code is in complete compliance with the plagiarism policy for this module.
FEEDBACK ON ASSESSED COURSEWORK
(An exemplar of the form returned to the student)
|
Module |
08960 / 08961 |
|
Title |
Terrain visualisation |
|
Student name |
|
Note that the standard achieved is scaled as Poor (P), Satisfactory (S), Good (G) or Very Good (VG)
|
Assessment criteria |
Learning |
Standard achieved |
Mark
|
|||
|
P |
S |
G |
VG |
|||
|
|
|
|
|
|
|
|
|
Total Mark
|
|
|||||
