CS184 Scene: My Little Airport

by Ki Fung Chow(bx) and Sui Fung Alex Wong(dp)

1080p Demo Video of the program

Highlights

.obj File Loading

A global hawk model loaded and displayed in wireframe mode

Skybox

The skybox is composed of 5 different images, and the skybox will always be static relative to the camera position

2 Camera Modes -- Freeview and First Person mode

Freeview -- The user can navigate through the scene in any position and angle. The control is
similar to a flight simulator except one can move backwards
First Person -- The user can literally walk on the terrain, and move the "head" by dragging the mouse

Spotlight with Gradual Cutoff

F16 under yellow spot light inside the hangar

Realistic Launching Motion

Red light will turn on right after the hawk is launched

Details

Controls

"W" -- Enable/Disable wireframe mode
"T" -- Enable/Disable texture
"L" -- Launch the Global Hawk
"1" -- Switch to First Person mode(deafult)
"2" -- switch to Freeview mode

In First Person Mode
Front/Back Arrow -- Moving frontward or backwards
Left/Right Arrow -- Turning left or right
Dragging with right click -- Move the "head"

In Freeview mode
Front/Back Arrow -- Turning up or down
Left/Right Arrow -- Turnning left or right
Spacebar -- Move forward
"V" -- Move backwards
Dragging with right click -- Move the "head"

Requirements

Complete scene -- Several global hawks, F16, hangar, grass, runway, sky, control tower, trafic signal box, meter box
Object created by hand -- Meter box and traffic signal box
Object loaded -- All other objects are loaded from .obj files
Placement and scaling by hand -- in setobject.cpp
Objects textured with a suitable image -- Runway textured with asphalt, other terrain textured with grass
Shinny object -- The global hawks
Dull object -- The control tower
Directional light -- One pointing towards -y axis, simulating the sun
Point light -- A blue light on top of the initial position of the launching hawk
Interesting light effect -- Yellow spot light inside the hangar
An object instantiated more than once -- The global hawk
Correct normals -- All objects have correct normal except the hangar
Hidden surface elimination -- By enabling OpenGL Cullface
Turn off all textures -- "t"
Mouse and keyboard control -- See controls
A constantly animating object -- The global hawk in circular motion above the airport
Possible extra credit -- Skybox, wireframe, and the 2 camera modes?

Language / Libraries used

OpenGL 3.3
GLSL 3.3
GLM 0.9.3.4
glew 1.9.0
glfw 2.7.6
Simple OpenGL Image Library (July 7, 2008)

Credits

The global hawk model is downloaded from the NASA website -- Here
The textures are downloaded from some other free texture libraries
F16 model is from here
The VBOindexer is from here

Source Code

Linux Sourcecode : airport_scene.zip