Project 4 - Virtual World
ECS 175: Computer Graphics
Your assignment in this project is to write a program
in which the the user can explore a virtual world.
You are welcome to implement
any world you like.
You may work with a partner on this project.
The technical requirements are:
- The user should be able to navigate (so, the camera has
to move relative to the world!). User motions must
include translating forwards and backwards and rotating left and
right. Flying (translating up and down), tilting, and
spinning upside down are other possible optional camera motions.
Navigating with the keyboard letters as controls is fine.
- You should use more than one
texture map. Here is the
texture mapping example from class.
This converter Web service seems very useful
for converting texture images to the .bmp format.
- You should have at least one reasonably complex and interesting
object in your world. Some examples:
- An architectural element
such as an arch or a row of columns.
- A 3D fractal plant.
- A garden of plants imported as .obj files.
- An animated object, for example a spinning globe of the earth
(the Web is full of texture maps for the earth).
Or a plant that moves in the breeze.
- A statue of the lion model, on a pedestal, with specular lighting.
- Your world should have lighting. A single directional light
source, like the sun, is fine. The light source should not move with the
camera (so the colors of diffuse shaded objects should stay the same
as the camera moves).
Projects which solidly meet these requirements will get 9/10 points.
Lectures will also cover adding a background and preventing the
user from walking out of the world, but these features are not
required.
Here is a tutorial from the Wikibook on camera motion. They also had one on using fog.