COMPUTER SCIENCE 330                                                                                                    Juniata College
Computer Graphics                                                                                                                      Spring 2007

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.

     Running Visual C++

     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

My homepage