Illinois Computer Science
CS 418 Interactive Computer Graphics
MP2B: Flight Simulator

Due: 11:59pm CDT, October 26, 2018

For the second part of Machine Problem 2, you will write a simple flight simulator using WebGL to handle the display. Your "plane" will fly over the terrain you generated in the last MP.  Add a cloud of fog to your terrain.

 

Flight and Fog

The airplane should automatically move forward at a fixed speed. The user will control the pitch and roll of the airplane through the arrow keys.  This video explains airplane motion.

You will need to implement the following:

  1. A quaternion based viewing system.
    Note: The glMatrix library provides support for using quaternions...and you should use it [link].
  2. A user interface that minimally implements the arrow-key and +/- key controls described above. You can add additional controls to affect yaw if you wish.
  3. Your webpage should include text instructions describing how the user interface works. 
  4. A cloud of fog, placed over and around your terrain. This tutorial should help with implementing fog (you'll have to modify some code from the tutorial).
    Note: The fog computation should be done per-vertex, which means implemented in the vertex shader. 
  5. Implement controls which turn the fog on and off in the scene.

 

Grading

Name your submission as ${NetID}_MP2B.zip and submit it to Compass. Include all of the files necessary for your application to run locally (this includes gl-matrix-min.js and webgl-utils.js).  

The assignment will be graded based on the following scale:​