Contact Information:
Course instructor:
Dr. K. Palaniappan
Dept. of Computer Science
329 Engineering Building West
Univ. of Missouri-Columbia
Columbia, MO 65211
palani@cecs.missouri.edu
(573) 884-9266, (573) 882-6265 (Lab)
F2011 TA: TBD
Email: TBD
Assignment
Submission: MU Blackboard
Office Hours: 1:00-2:00 T, R; EBW 205
Course Catalog
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
-
Introduction to computer graphics and
survey of applications
-
Components of a graphics system
including display technologies
-
Basic graphics rasterization
algorithms for displaying primitives (lines, circles)
-
The OpenGL rendering interface (GLU toolkit, glut windows and menus, libraries)
-
Overview of human computer
interaction and user interfaces
-
Graphics rasterization
algorithms for displaying more complex primitives (ellipses, conics,
splines, etc.)
-
Recursive filling and interpolative shading
-
Scan-line filling of polygons and
regions
-
Structure of graphics packages,
graphical user interfaces and interactive input methods
-
The graphics rendering pipeline
-
Two-dimensional geometric
transformations and affine representation (translation, scaling,
rotation, shear, reflection)
-
Two-dimensional viewing pipeline -
window to viewport transformation
-
Three-dimensional geometric,
modelling and viewing transformations
-
Line and region clipping rasterization stage
-
Representation and description of
color models
-
Illumination and shading models
-
Texture mapping
-
Hidden surface and hidden line
removal
-
Curve and surface representation
The latter three advanced topics will be
covered as time permits and based on the class interests.
Mandatory and Desirable Prerequisites
-
Mandatory: CS 2050
-
Knowledge of these topics will be
very helpful:
-
CS 3050: Design and Analysis of
Algorithms
-
Math: Calculus II or III
-
CS: 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, C Version
, by D. Hearn, M. P. Baker, W. R. Carithers
Prentice-Hall, 4th edition, 2010. This book starts with grounding in 2D rasterization algorithms for drawing curve primitives then gradually moves to 3D rendering.
-
OpenGL Programming Guide, 4th
Edition: The Official
Guide to Learning OpenGL, Version 1.4 by M. Woo, J. Neider, T. Davis,
D. Shreiner, Addison Wesley, 2004. 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.
Other Texts and Sources
-
Interactive Computer Graphics,
by E. Angel,
Addison-Weley, 5th edition, 2009.
This text was previously used for
CS 4610 and starts directly with 3D drawing in a windowing system
with a detailed presentation of 2-D and 3-D geometric tansformations.
-
Fundamentals of Computer Graphics,
by Peter Shirley,
AK Peters Ltd, 2nd edition, 2005.
-
Real-Time Rendering, by Tomas Akenine-Moller and Eric Haines, A.K. Peters Ltd., 3rd edition, 2008. Covers more advanced material on rendering techniques, graphics algorithms and data structures. The link provides pointers to recent graphics textbooks also.
-
Computer Graphics Using OpenGL,
, by F.S. Hill, Jr.
Prentice-Hall, 2nd edition, 2001.
This text was previously used for CS 4610 and contains
good examples of OpenGL programming and rasterization algorithms,
along with a review of mathematics required for graphics.
-
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 was previously used for CS 4610.
-
OpenGL Programming for the X
Window System, M. J.
Kilgard, Addison-Wesley, 1996. Focuses on windowing system,
event handling, and user interface issues for using OpenGL with the X
Window System and Motif and GLUT. GLUT is a simple portable windowing tookit
library that is highly portable across various native window systems (ie
Linux, Windows98/NT/2000/XP, MacOS, X-Windows).
-
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
- ACM Tansactions on Graphics
-
SIGGRAPH proceedings, published
annually as special editions of the journal 'ACM Trans. Graphics'.
SIGGRAPH also has annual Video Reviews for each conference.
- IEEE Transactions on Visualization and Computer Graphics
- IEEE Computer Graphics and Applications
- Computer Graphics and Image Processing
- Presence
Grading Criteria (Subject to change)
|
Weight |
| Midterm |
20% |
| Homework & Class Participation |
50% |
| Final Group Project & Presentation |
30% |
| Total |
100% |
Description:
Homework and Class Participation. There will be periodic
assignments of homework that you will be required to complete. Expect
to have five programming projects for homework of increasing complexity
and consequently increasing code development and debugging time. You
will also be expected to actively participate in class discussions. You
are also expected to complete any assigned readings. Overall, any
activity that contributes to learning, to a cooperative atmosphere, and
to positive energy in the class will be considered toward class
participation.
Exams. There will be one midterm exam in this course. The exam
will consist of short answer questions, algorithm problems or concepts,
and mathematical concepts for understanding computer graphics.
Final Group Project and Presentation. Students will be required to do a capstone computer
graphics semester project. This will be a group project, with each
group consisting of 2-3 students. The project will involve the
students' execution of the following primary steps: select topic,
identify computer graphics goals, software design, software engineering
for project implementation, debugging and refinement. Your group
will be required to write an HTML report with imagery, animations, and
text (see previous years' project Web pages for ideas on topics and scope of
implementation). Your group will also give an oral presentation of your project.
Statement Regarding Academic Dishonesty:
Academic honesty is fundamental
to the activities and principles of a university. All members of the
academic community must be confident that each person's work has been
responsibly and honorably acquired, developed, and presented. Any effort
to gain an advantage not given to all students is dishonest whether or not
the effort is successful. The academic community regards academic
dishonesty as an extremely serious matter, with serious consequences that
range from probation to expulsion. When in doubt about plagarism,
paraphrasing, quoting, or collaboration, consult the course
instructor.
Statement Regarding ADA: If you have special needs as addressed by the
Americans with Disabilities Act (ADA) and need assistance, please notify
the Office of Disability Services, A048 Brady Commons, 882-4696 or course
instructor immediately. Reasonable efforts will be made to accommodate
your special needs.