Screenshot:

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.
|