Contact Information:
Course instructor:
Dr. K. Palaniappan
Dept. of CECS
329 Engineering Building West
Univ. of Missouri-Columbia
Columbia, MO 65211
palani@cecs.missouri.edu
(573) 884-9266, (573) 882-6265
Catalog Description
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.
Goals
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
graphics implementation.
Syllabus
-
Representation and description of
color models
-
Three-dimensional geometric,
modelling and viewing transformations
-
Illumination and shading models
-
Curve and surface representation
-
Texture mapping
-
Hidden surface and hidden line
removal
Prerequisites
-
CECS 361: Computer Graphics I
-
CECS 303: Design and Analysis of
Algorithms I
-
Math 175: Calculus II
-
Knowledge of these topics will be
very helpful:
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
functions.
-
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.
Additional References
-
SIGGRAPH proceedings, published
annually as special editions of the journal 'Computer Graphics'.
SIGGRAPH also has annual Video Reviews for each conference.
Projects
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
"http://reality.sgi.com/mjk/tips/".
-
glflare - This program, located
in ~cecs461/examples/glflare" demonstrates OpenGL rendering using
lens flares. It was also taken from
"http://reality.sgi.com/mjk/tips/".
-
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
/usr/local/lib.
-
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
"~cecs461/examples/glut-3.5/progs".
-
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
"~cecs461/examples/motif".
-
OpenGL - sample programs from the
OpenGL Programming Guide are located in the directory
"~cecs461/examples/glut-3.5/progs/redbook".
-
OpenGL/Motif - these sample
programs are from the bootk _OpenGL Programming for the X Window
System_
-
~cecs461/examples/motifOpenGL/molview
- molecule viewer which uses mouse interaction and picking.
-
Open Inventor - sample Open
Inventor programs are located in
"~cecs461/examples/inventor/".
-
cone - demonstrates a
rotating cone drawn with Open Inventor.
-
cube - demonstrates a
rotating cube.
-
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.
Submitting Assignments
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
"submit list".
-
You may resubmit your file by
performing step 1 a second time.
-
For complete information on see the submit
utility web page.
Backups
-
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:
|
Site
|
Machine Name
|
IP address
|
| Physics |
sgi10.phlab.missouri.edu |
128.206.233.10 |
| GCB |
indy125.gclab.missouri.edu |
128.206.233.175 |
| EBW |
ew4.ewlab.missouri.edu |
128.206.233.199 |
If the machine you are trying doesn't
work, try another number in the same lab
Other Information