14:332:474 Introduction to Computer Graphics

Course catalog description: Computer display systems, algorithms, and languages for interactive computer graphics. Vector, curve, and surface generation. Hidden line and surface algorithms. 

Credits and contact hours: 3 credits; 1 hour and 20-minute session twice a week, every week

Pre-Requisite courses: 14:332:252

Co-Requisite courses: None

Topics Covered:

  • Introduction, what is computer graphics? Review of computer graphics hardware and graphics, processing units (GPU).  Curves, surfaces and polygonal mesh representations. 
  • 2D graphics, scan conversion, anti-aliasing, clipping, polygonal fill algorithms.
  • Curves, polynomial curves, Bezier curves, spline fitting.
  • 3D Polygonal objects, coordinate frame transformations, rotations, translations, scaling, homogenous transformations.
  • Camera models, perspective viewing, window-viewport transformations.
  • 3D Rendering pipeline, OpenGL implementation of rendering pipeline, clipping against a 3D window in both parallel and perspective projection.
  • Midterm Examination, Curve and surface design. Bezier and B-spline bicubic surfaces.
  • Illumination and reflectance: shading models, light source models. 
  • Texture mapping, texture synthesis. Advanced reflectance models, bidirectional reflectance distribution function. 
  • Color theory, RGB color model, basic concepts; Additive and subtractive colors. Color interpolation.
  • Hidden-surface and hidden-line line algorithms, Front & back surfaces, order of visibility, hidden-line determination 
  • Hidden-surface determination, Z-buffer, Ray tracing, High realism displays 
  • Transparency, shadows, radiosity. 
  • Introduction to image-based rendering. 

Textbook: Hill, Francis and Kelley, Stephen, Computer Graphics Using OpenGL; Shreiner, et al, OpenGL Programming Guide: The Official Guide to Learning OpenGL,  Addison-Wesley.

Other supplemental material: class notes.