Final Project - CSE 167

Student: Mara Silva



This project is an Amusement Park.

I know... has only one ride... but still is a nice place to visit...

The park is located on a nice grass area. A small river is located close to the park, so to get there we have to cross a bridge. You can strool through the park or "float in the air", having a view from above. You are able to go for a ride on the Ferris Wheel, and enjoy the view!

These are the controls:

M - show/hide menu

R - start/stop the ride
S - start/stop spinning the Ferris Wheel

F - lights on the Ferris Wheel on/off

L - lights on/off

A - automatic clock on/off
T - add hour

ESC - exit the program

W - toggle between walking and floating mode

ARROW KEY UP - walk forwards
ARROW KEY DOWN - walk backwards
ARROW KEY RIGHT - turn to the right
ARROW KEY LEFT - turn to the left

PAGE UP - look up
PAGE DOWN - look down

ARROW KEY UP - go up
ARROW KEY DOWN - go down
ARROW KEY RIGHT - go to the right
ARROW KEY LEFT - go to the left

'+' - increases the size of each step and/or angle
'-' - decreases the size of each step and/or angle


This project uses most of the techniques learned along this course, including lighting, texture mapping, blending and transparency, and some animation.

Texture Mapping

An example of texture mapping can be seen on the bridge, where the a wood texture was applied to add a more realistic feeling to the scene.

Other than the example above, texture mapping was also applied to the sky, the grass, the water, the welcome sign, and the menu.



There are several light sources in this scene:
1. the sun, which position changes acording to the time of the day, creating different specular reflections on the objects;
2. the lamp, which uses the spotlight technique, casting light only to a small area.
3. the light on the ferris wheel, which is located behing the sun on the ferris whell. This light uses attenuation, that means, the light intensity fades with the distance.

Blending and Transparency

The need for transparency came from the idea of reflection the scene on the water. The reflection effect was achieved by drawing all the objects that I wanted reflected upside-down, below the surfice line. The alpha value on the material properties of the river was set in a way to make it translucid, making possible to see objects below the surface line, creating the illusion of the reflection on the water.

Another use of translucid object is the menu. When the menu is show on the screen it is still possible to see the scene behind it.




One small use of animation was to make the sun position change as the day goes by.

The animation was manly used to make the Ferris Wheel spins. Also, the visitor can take a ride.



Some difficulties were meet along the way to the conclusion of this project.

The major difficulty was the reflection on the water. I spent almost a day trying to make it works. I read about and tried several ways to create the reflection effect, but maybe because my computer has an old OpenGL version, or another unknown reason, I couldn't get then to work. In the end, the way in which reflection as achieved created a nice effect.

When I first imagine this Amusement Park, I imagine it with lots of trees. I wanted to use the billboarding technique, making some areas of a tree image transparent, while others remain opaque. Unfortunately I could not complete this part, so the visitor have to wear a hat or wear lots of sunscreen ;-)



Click here to download demo.
Just unzip all the files in the same directory.



Please, send you comments to