Course Number

375

Course Name

Computer Graphics

Credits

4

Prerequisite

CSCI 362

Course Description

Introduction to the theory and implementation of computer graphics. The course develops the mathematical basis for the computer representation of two and three dimensional objects. Graphical programming assignments use the latest graphics standards.

Topics include:
2D & 3D graphics primitives and attributes, fill algorithms, curved surfaces, clipping algorithms, three dimensional viewing procedures, graphical I/O devices, geometric transformations, computer graphics software, three-dimensional object representations, visible surface algorithms, image synthesis, ray tracing, radiosity, anti-aliasing, animation techniques, physically based modeling, 3D applications development, and graphics workstations.

This course includes a laboratory component.

Course Objectives

This course is designed to provide a comprehensive introduction to computer graphics leading to the ability to understand contemporary terminology, progress, issues, and trends. The interdisciplinary nature of computer graphics is emphasized using a wide variety of examples and applications. Course material is structured to meet the needs of both designers and users of interactive computer graphics systems.

At the end of this course, a student should:

A. be familiar with the fundamental output primitives and attributes of a graphics system;

B. be familiar with the underlying mathematics of two and  three-dimensional graphics;

C. be able to program a computer system to produce quality      graphics;

D. be knowledgeable about graphics standards;

E. be familiar with graphics hardware

Course Outline

A. Introduction

1.Introduction to Computer Graphics
2.History of Computer Graphics - ACM SIGGRAPH
3.Survey of Graphics Devices, Raster graphics
4.Local hardware and software systems

B. 2D Drawing Primitives

1.Points and Lines
2.Line-drawing Algorithms

a) Bresenham's method

3.Antialiasing
4.Circle generation
5.Graphics primitives

a) Polyline
b) Fill-area
c) Text
d) Polymaker

6.Line Styles
7.Color & Intensity
8.Area Filling

a) Scan Conversion algorithms
b) Boundary-fill
c) Flood-fill

C. Basic Vector and Matrix Algebra.

1.      Length of a vector
2. Normalization of a vector
3. Dot Product
4. Cross Product

2.      Matrix inverse, multiplication.

D. Two-Dimensional Transformations

1.Basic Transformations

a) Translation
b) Scaling
c) Rotation

2.Matrix Representation and Homogeneous Coordinates
3.Composite Transformations
4.Transformations Relative to a Fixed Point
5.Reflections

E. Virtual World Modeling Concepts

1.Modelers, geometries, viewports
2.3D Object creation and editing
3.Surface normals
4.Materials

a) flat materials
b) two-sided materials
c) textured materials
d) mapping coordinates for textures

5.Surface Detail

a) polygons, triangles, faces, vertices
b) Texture Mapping
c) Bump Mapping

F. Three-Dimensional Representations

1.Polygon Representations on Surfaces
2.Curved Surfaces

a) Parametrics Curves
b) Bezier Curves
c) Spline Curves

3.Surface and volume representations

G. Three-Dimensional Transformations

1.Basic Transformations

a) Translation
b) Scaling
c) Rotation

2.Matrix Representation and Homogeneous Coordinates
3.Composite Transformations
4.Transformations Relative to a Fixed Point
5.Reflection

6.World vs Local Coordinate systems

H. Three-Dimensional Viewing

1.Windows
2.Projections

a) Parallel
b) Perspective

3.Viewpoints, View Planes, View Volumes
4.3D Clipping
5.Normalization of Viewing operations
6.Visible line and hidden surface removal algorithms
7.Object space and image space algorithms.

I. Rendering and Lighting Concepts

1.Ray casting
2.Ray-tracing - Reflection and refraction
3.Shading Algorithms

a) Flat
b) Gouraud
c) Phong

4.Radiosity methods - progressive refinement
5.Shadows, Transparency, texture mapping

 

Suggested Texts

Learning XNA 3.0

XNA 3.0 Game Development for the PC, Xbox 360

O’Reilly Press, 2009, Aaron Reed

Interactive Computer Graphics: A Top-Down Approach with OpenGL®, Edward Angel, Addison-Wesley, 2002.

OpenGL®: A Primer: Edward Angel, Addison-Wesley, 2002.

 

OpenGL® Programming Guide: The Official Guide to Learning OpenGL, Mason Woo, Jackie Neider, Tom Davis, Dave Shreiner, Addison-Wesley, 1999.

Related Readings

 

3D Computer Graphics, Alan Watt, Third Edition, Addison-Wesley, 1999.

Computer Graphics: Principles and Practice (Second Edition in C). J. Foley, A. van Dam, S. Feiner, and J. Hughes. Addison-Wesley, 1995.

 

Foley, J.D., Van Dam, Feiner, Hughes, Phillips, Introduction to Computer Graphics, Addison-Wesley, 1994.

Hearns, Donald & Baker, Pauline, Computer Graphics, Prentice-Hall, 1995.

Roy Kalawsky, The Science of Virtual Environments - A Technical, Scientific and Engineering Reference on Virtual Environments, Prentice-Hall, 1994.

Pimentel and Teixeria, Virtual Reality - Through the New Looking Glass, Intel/ McGraw - Hill Publishing, New York, N.Y.
 
Rogers, D.F. & Adams, J.A. Mathematical Elements for Computer Graphics, McGraw Hill. 1978.

Mandelbrot, B.B. The Fractal Geometry of Nature, W.H. Freeman, 1987.

Jed Hartman and Josie Wernecke, The VRML 2.0 Handbook, Building Moving Worlds, SGI and Addison-Wesley, Reading, Mass. 1996.

Rikk Carey and Gavin Bell, The Annotated VRML 2.0 Reference Manual.

ACM Transaction on Graphics Journal

ACM SIGGRAPH Computer Graphics Journal

IEEE Computer Graphics and Applications Journal