Course Description:
Hardware and software components of graphics systems. Output and filled data primitives. 2D and 2D geometric transformations. Two dimensional viewing: viewing pipeline, clipping, and windowing. Three dimensional viewing: viewing pipeline, viewing parameters, projections, viewing transformations, clipping, visible surface detection. Introduction to illumination models and surface rendering.
Course Objectives:
CENG 477 Introduction to Computer Graphics introduces the basic concepts of computer graphics and raster based methods. It also provides the necessary theoretical background for introductory computer graphics and demonstrates the application of computer science to graphics. It also offers an opportunity for students to formulate and implement applications of computer graphics. This course further allows students to develop programming skills in computer graphics by programming assignments.
None (C/C++ programming, basic linear algebra and analytic geometry knowledge are required)
Text book:
D. Hearn, M.P. Baker, "Computer Graphics, C version",2nd edition, Prentice Hall, 1997, ISBN 0-13-530924-7.
Reference Books:
  • Foley, Van Dam, Feiner, Hughes, "Computer Graphics: Principles and Practice", Addison Wesley, ISBN 0-201-12110-7.
  • Edward Angel, "Interactive Computer Graphics: A top-down approach with OpenGL", Addison Wesley, ISBN 0-201-85571-2.
Course Outline:
  1. Introduction, graphics hardware and software.
  2. Output primitives (DDA, Bresenham's, circle and ellipse generating algorithms). Introduction to the practical use of OpenGL.
  3. Filled area primitives (Scan-line polygon fill, boundary fill, flood fill). Introduction to the practical use of OpenGL.
  4. 2D and 3D geometric transformations (homogenous coord., translation, rotation, scaling, reflection, shear, rotations by quarternions), and transformations between coordinate systems, affine transformations.
  5. Two-dimensional viewing (viewing Pipeline, window-to-viewport coordinate transformation, line clipping, polygon clipping).
  6. Three-dimensional object representations(polygon surfaces, curved line and surfaces, splines, bezier curves and surfaces)
  7. Three-dimensional viewing (viewing pipeline, projections, viewing parameters).
  8. Three-dimensional viewing (viewing transformations, clipping).
  9. Visible surface detection (back face, depth buffer, depth sorting)
  10. Illumination models, and surface rendering (basic illumination models, polygon rendering methods).
Recitation Outline:
  1. Introduction to OpenGL and Glut
  2. Event driven programming
  3. OpenGL drawing primitives
  4. Transformations and Projections
  5. Viewing and Model transformations
  6. Display Lists
  7. Vertex arrays
  8. Lighting
  9. Texture mapping
  • 2 written assignments
  • 3 programming assignments
  • Midterm 30%
  • Assignments 30%
  • Final 40%
Last modified: Monday, 12 September 2011, 6:42 PM