Readme - Final Project - CSE 167 - Student: Matthew Moore

Controls
  • Left Arrow -- bank left
  • Right Arrow -- bank right
  • w -- wire frame mode
  • Esc -- quit

Features (Implemented Project Goals)
  • Good looking (read: textured), low polygon count F-22 (the plane)
    Accomplished by using only the essential shapes of the plane. The texture maps I made in Photoshop. The Afterburner is just two lens-flare effects next to each other, and the top of the fuselage is a picture of the top of an F-22 (warped to fit a rectangle).
  • Sky and ground textures
    Found on the internet, and edited to fit the page The sky texture must be mapped exactly so that the horizon will appear in the correct place.
  • Sky and ground "reflection" on plane
    Accomplished by having two lights enabled in OpenGL: one blue shining down from above the plane, and one green shining up from below the plane.
  • Simulated motion for straight ahead flight -- constant speed
    Accomplished by only displaying a part of the ground texture map in OpenGL's Z-axis (which is actually the texuture map's Y-axis). This "window" of the texture map is moved up the texture map's Y-axis, and looped to the bottom of the texture map when it reaches the top.
  • Simulated motion for turns -- the greater the roll angle, the greater the sideways speed.
    Accomplished by only displaying a part of the ground texture map in OpenGL's X-axis (which is actually the texuture map's X-axis also). This "window" of the texture map is moved to the left or right of the texture map's X-axis, and looped to the opposite side of the texture map when it reaches an edge. The changing speed is accomplished by making the increment amount for the position equal to the roll angle divided by the max roll angle (~90 degrees) times the max speed in the X direction.

Unimplemented Project Goals
  • Fully textured F-22 (the plane)
    Would have been accomplished by more fancy photoshop work on pictures of F-22's from different angles.
  • Climbing and Descending
    Would have been accomplished by some fancy photoshop work with a cloud texture -- the ground rectangle would of course also have to be incrementally moved in and out of the scene to take up more or less of the screen with changing altitudes.
  • Specular highlights for the sun
    Would have been accomplished by making a higher polygon model of the plane to actually pick up the highlights. Gouraud shading on a spotlight fails of course when the spotlight is focused in between vertices. To avoid this problem, many verticies must be made.
  • Afterburner affect (a "flame", extending from the engines)
    Would have been accomplished by experimenting on transparent texture maps on a cylinder extending from the rear of the F-22.
  • Missile Firing on a Bezzier Curve
    Would have been accomplished by actually reading about this topic :).