Survey:
Student Information
Description: An introduction to both the hardware and software utilized in computer graphics. The emphasis is on a top-down, programming approach, using a standard application programmer’s interface. Students will create three-dimensional and interactive applications, in addition to studying several of the classic, low-level, rendering algorithms.
Prerequisites: CS 240 and MA 110 (Linear Algebra, which is now numbered
MA 160)
Co-rerequisites: CS 254 (C++ Programming)
Class Times: TuTh 1:0pm - 2:20pm
Location: P-107, Brumbaugh Science Center
Instructor: Dr. Gerald Kruse
Phone: 641-3595
Office: C-205A, Brumbaugh Science
Center
E-mail: kruse@juniata.edu
Office Hours: For the most up-to-date, see http://faculty.juniata.edu/kruse/office.htm
Textbook: Third Edition Interactive Computer Graphics, A Top-Down Approach with OpenGL, Angel
Grading:
Exam 1
20%
Exam 2
20%
Exam 3
20%
Homework and Projects
30%
Class Attendance, Participation and In-class Labs
10%
Assignments:
Content:
Graphics Systems and Models
Graphics Programming
Input and Interaction
Geometric Objects and Transformations
Viewing
Shading
Implementation Issues
Scene Graphs
Discrete Techniques
Curves and Surfaces
File Types
Computing Environment:
Win 32 and UNIX, C++ with OpenGL. We’ll use the
Graphics Library User’s Toolkit (GLUT) as our window manager.
Installing GLUT on a Win 32 system running
Microsoft
VisualStudio v6.0 or earlier:
copy glut.h from P:\Kruse\CS330\glutFiles
to C:\Microsoft Visual Studio\VC98\Include\GL
copy glut32.lib from P:\Kruse\CS330\glutFiles
to C:\Microsoft Visual Studio\VC98\Lib
copy glut32.dll from P:\Kruse\CS330\glutFiles
to C:\WINNT\system32
Installing GLUT on a Win 32 system running Microsoft
VisualStudio .NET:
copy glut.h
from P:\Kruse\CS330\glutFiles
to C:\Program Files\Microsoft Visual Studio .NET\Vc7\Platform
SDK\include\gl
copy glut32.lib
from P:\Kruse\CS330\glutFiles
to C:\Program Files \Microsoft Visual Studio .NET\Vc7\lib
copy glut32.dll
from P:\Kruse\CS330\glutFiles
to C:\WINDOWS\system32
glut.h
glut32.lib
glut32.dll
HelloWorld.cpp
To create an executable XXXX for a file XXXX.cpp, at a UNIX command prompt, type:
g++ XXXX.cpp -lglut -lGL -lGLU -lXmu
-lX11 -lm -L/academic/glut/lib/glut -I/academic/glut/include
–o XXXX
You might find the following useful as a UNIX makefile. Type:
make XXXXX
where XXXXX.cpp is the program to be compiled and the following is in a file called Makefile
----------------------------------------------------------------------------------------------------------------
CC = g++
LDLIBS = -lglut -lGL -lGLU -lXmu -lX11 -lm
LDDIR = -L/academic/glut/lib/glut
INCLUDEDIR = -I/academic/glut/include
%: %.cpp
$(CC) $@.cpp $(LDLIBS) $(LDDIR) $(INCLUDEDIR) -o $@
----------------------------------------------------------------------------------------------------------------
Course Policies: For the most up-to-date, see http://faculty.juniata.edu/kruse/policies.htm