Dr. K. Palaniappan
Dept. of CECS
329 Engineering Building West
Univ. of Missouri-Columbia
Columbia, MO 65211
(573) 884-9266, (573) 882-6265
Basic concepts and techniques of
interactive computer graphics including hardware, software, data
structures, mathematical manipulation of graphical objects, the user
interface, and fundamental implementation of algorithms.
Study of hardware and software components
of graphics systems including features of graphics processors and i/o
devices, algorithms for generating graphics display, design
implementation and application of graphics algorithms, libraries and
packages. Graphics software standards such as OpenGL will be covered in
detail and used as an integral part of the programming assignments. A
course project with several team members, will focus on a substantial
Representation and description of
modelling and viewing transformations
Illumination and shading models
Curve and surface representation
Hidden surface and hidden line
CECS 361: Computer Graphics I
CECS 303: Design and Analysis of
Math 175: Calculus II
Knowledge of these topics will be
CECS 253 Unix Operating System
(especially the SGI IRIX flavor)
C or C++ programming languages and
object oriented design
Matrix Algebra (i.e. matrix &
vector algebra for geometric transformations)
Calculus in Three Dimensions (i.e.
planes, quadric surfaces, 3-D geometry)
Computer Graphics: Principles and
Practice, by J. D. Foley,
A. van Dam, S. K. Feiner, F. J. Hughes, Addison-Wesley, 2nd edition in
C, 1996. Ignore the SRGP and PHIGS parts since we will be using
OpenGL. This text is also currently used for CECS 461.
Other Texts and Sources
OpenGL Programming Guide, 2nd
Edition: The Official
Guide to Learning OpenGL, Version 1.1 by M. Woo, J. Neider, and T.
Davis, Addison Wesley, 1997. The online version of the the OpenGL
Programming Guide can be accessed using the "insight" command
on the SGI workstations. Excellent tutorial guide on the OpenGL
subroutine library for 3-D interactive graphics, highly recommended.
The companion volume, OpenGL Reference guide contains a summary of
OpenGL Programming for the X
Window System, M. J.
Kilgard, Addison-Wesley, 1996. Focusses on windowing system,
event handling, and user interface issues for using OpenGL with the X
Window System and Motif and GLUT, a simple portable windowing tookit
library that not only hides the complexity of integrating X and OpenGL
but is highly portable across various native window systems (ie
Windows95/NT, MacOS, X).
Advanced Animation and Rendering
Techniques, A. Watt and M.
Watt, Addison-Wesley, 1992. Covers more advanced topics such as
texture mapping, ray tracing, radiosity, volume rendering.
An Introduction To Ray Tracing, A. Glassner (ed.), Academic Press, 1989.
Mathematical Elements for Computer
Graphics, 2nd Edition.
Rogers and Adams, McGraw-Hill, 1990. Has lots of examples and a
good discussion of spline curves.
Procedural Elements for Computer
Graphics, 2nd edition,
Rogers, McGraw-Hill, 1998.
SIGGRAPH proceedings, published
annually as special editions of the journal 'Computer Graphics'.
SIGGRAPH also has annual Video Reviews for each conference.
Example Program information
Example programs. Each directory
contains executable programs and the corresponding source files.
dinoshade - This program, located
in ~cecs461/examples/dinoshade" demonstrates shadows, lighting,
reflections and textures. It was taken from
glflare - This program, located
in ~cecs461/examples/glflare" demonstrates OpenGL rendering using
lens flares. It was also taken from
GLUT 3.2?? - This version of GLUT
is what was used in CECS310. The include file glut.h is located in
/usr/local/include/GL and the object library is located in
GLUT 3.5 - This is the latest
version of GLUT. However, some current problems on the SGI cluster
prevent this from being installed as it will only work on the O2s. If
you still wish to use it, glut.h is located in
~cecs461/examples/glut-3.5/include/GL and libglut.a is located in
~cecs461/examples/glut-3.5/lib/glut. A number of sample programs that
use GLUT are in subdirectories of
Motif - These are the example
programs from the book _Volume 6A Motif Programming Manual_ published
by O'Reilly & Associates, Inc. These programs are stored in
OpenGL - sample programs from the
OpenGL Programming Guide are located in the directory
OpenGL/Motif - these sample
programs are from the bootk _OpenGL Programming for the X Window
- molecule viewer which uses mouse interaction and picking.
Open Inventor - sample Open
Inventor programs are located in
cone - demonstrates a
rotating cone drawn with Open Inventor.
cube - demonstrates a
excone - demonstrates a cone
using examiner viewer that allow the user to translate, scale, rotate,
and spin the cone.
texture - demonstrates a
texture cube using examiner viewer.
Projection Transforms and
Texturing. Located in "~cecs461/examples/demos/projection3D".
This program also demonstrates how to display OpenGL in a Motif window.
Please use the following procedure to
submit assignments starting with Assignment #3. You will still need to
hand in a print out of your code and any output to the instructor.
Name your file for the assignment
number you are submitting. For example asst3.c for assignment 3.
type "submit" and press
return. You will be prompted for the file to submit and the course for
which you are submitting the file, "cecs361".
To verify your submission, type
You may resubmit your file by
performing step 1 a second time.
For complete information on see the submit
utility web page.
Please make your own backups since
the SGI cluster is often NOT backed up routinely by Campus Computing
You can use ftp or fetch from home to
one of these machines to download your work:
If the machine you are trying doesn't
work, try another number in the same lab