CSC 471 final project

"A 2D program that builds 3D stuff"

Raymond Sin


Welcome to"A 2D program that builds 3D stuff!! Here, you'll find yourself indulging in my world of 3D objects. The purpose of this assignment was to show how 3D objects interact in 3D space in different perspectives and angles. Lighting and texture mappings are also features in this program which the user can play around with. Alright, lets get started!

 

 

 
  Here is a snapshot of an empty plane where nothing has been built yet...
====>
Here is a snapshot of the empty plane populated with some buidling blocks...

 

The heart of this program is divided into 3 subsections:

  1. Creating differnt 3D shapes: cube, retangular box, and cylinder.
  2. Moving the camera around on the 3D plane and changing the perspective view angle in GL_PERSPECTIVE.
  3. Observing how lightings effect a scene and its environemtn.

GUI is a big part of this program as the user is given a big graphic user interface to build his or her 3D shapes. The user can define differnt properties of a 3D shape (length, width, height, radius, and XYZ positions with respect to the 3D plane)...


Lighting is an important factor in this program. Here are see differnt kinds of lighting applied to a 3D scene...

 
No lighting
Mixed lighting
Spot lighting
Warm lighting
Cool Lighting

Camera views are adjustable as the user can toggle between a BUILD MODE. With BUILD MODE ON, a top view of the 3D plane will be displayed for easier time contructing the 3D shapes. With BUILD MODE OFF, Camera view will turn into perspective mode.

BUILD MODE ON.


Things I want to add to my existing program:


References

Creating a skybox - http://www.levels4you.com/sections/redfaction/index.l4y?cat=155

Tons of tutorial to give me ideas: http://www.ultimategameprogramming.com/Tutorial.php?category=OpenGL&page=1

All the textures I ever wanted: http://astronomy.swin.edu.au/~pbourke/texture/

How to create GUIs for a program: http://www.cs.unc.edu/~rademach/glui/