Home

Resume

Source

Gallery

Impera


source page
(back home)

OpenGL object manipulation program

12/13/00




Screenshot:


screenshot of 3d object program
Click here for larger version

 

 

This is my OpenGL object manipulation program for my CS480 (Computer Graphics) class.

It is a simple program that allows the user to create and manipulate some simple objects in a small 3D canvas.

The user can create, scale, rotate, and translate objects in three dimensions.
The user can also move the camera in three dimensions to view the scene from any angle.
The user can create and manipulate up to 8 lights (OpenGL's limit is 8 lights).
The user can also change the objects' material properties (color) and the background color.
There are various other things implemented (flat & smooth shading, perspective & ortho projection modes)

My favorite feature is the rotating ring that highlights to the user which object is currently being manipulated.

Download the files:

assign03.exe - Win32 executable *see note below (68 kB)

assign03.zip - VC++ 6 source file (20 kB zipped)

readme.txt
- plain text readme file (6 kB)

assign03.cpp - VC++ 6 source file (79 kB)
assign03.dsw - VC++ 6 workspace file (1 kB)


*NOTE: You must have Glut32.dll for this program to run. (GL Utility Toolkit). Click here for more information on GLUT. Download Glut32.dll and place it in the same directory as the object viewer executable.

**NOTE: This program uses the Win32 specific "windows.h" header file and AfxMessageBox function calls. If one were to modify these calls, I'm sure the program would run on LINUX, Mac or any other platform.

*ANOTHER NOTE: When looking at the source, please take into consideration the time constraints and the fact that I (all of us students) have very limited time and many other obligations, so we can't make programs like this as full-featured or robust as we would like, not to mention have the code be clean and neat.


For a description of the assignment, click here.

The structure is based on code from the OpenGL SuperBible by Richard S. Wright Jr., only in the way GLUT is implemented.






^ Back to top

<< Back to the Home Page






This page, site, and all contents ©copyright 1999, 2000, 2001