Text version | Website feedback | Campus Portal | Campus email: Hull / Scarborough

MSc in Games Programming

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 window
a.      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 frame
b.     Flat shaded
c.      Smooth shaded
d.     Textured
e.      A blend of Texture and Smooth shading
11.  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 missiles
15.  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.Net
18.  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:

  1. Wire frame
  2. Flat shaded
  3. Smooth shaded
  4. Textured
  5. Blend of texture and smooth shading

 

 

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
Outcome

Standard achieved

Mark

 

P

S

G

VG

 

 

 

 

 

 

 

 

 

 

 

 

Total Mark