Course CSE328
Title Fundamentals of Computer Graphics
Credits 3
Course Coordinator

Hong Qin


An introduction to computer graphics including graphics application programming; data structures for graphics; representing and specifying color; fundamental hardware and software concepts for calligraphic and raster displays; two-dimensional, geometric transformations; introduction to three-dimensional graphics; graphics standards; and input devices, interaction handling, and user-computer interface.

Prerequisite C or higher: CSE 219 or CSE 260; CSE 220
Course Outcomes
  • Working knowledge of fundamental hardware and software concepts of interactive computer graphics such as raster displays, color systems, processor architectures and displays.
  • An understanding of the mathematics of geometric transformations as applied to two and three-dimensional graphics.
  • An ability for graphics application programming through projects using standard graphics libraries


Computer Graphics with Open GL, Donald Hearn and M. Pauline Baker, Prentice Hall.

Major Topics Covered in Course
  • Graphics System Hardware
  • Fundamental Mathematics and Geometry
  • Scene composition
  • Rendering
  • Image-based techniques
  • Others: Animation; Transparency and shadows; Texture mapping; Ray tracing; Radiosity; Image-based rendering and modeling; Advanced modeling techniques; Case studies; Software packages

Laboratory Projects
  • Read the introduction and overview chapters of textbooks and reference books to get familiar with graphics basics and fundamentals. Research the introduction and overview chapters of OpenGL programming guide and reference manual in order to get familiar with the basics of OpenGL programming skills (2 weeks)
  • Lab1: The main goal of Lab1 is to learn several important two dimensional graphics techniques and apply them such as line drawing, scan-conversion and two-dimensional transformations to solve real-world problems in practice. Students are required to implement the drawing of a polygon boundaries as well as its interior and be able to handle standard two-dimensional transformations and manipulations (3 weeks)
  • Lab2: Lab focuses on applying three dimensional graphics techniques to display and manipulate geometric shapes in common use such as cube, tetrahedron, sphere, cylinder, cone, torus, etc. Students are required to implement the drawing of polyhedral objects and quadrics primitives. Students need to display wire frame objects, display flat-shaded solid objects, and allow users to interactively translate and zoom the displayed objects (3 weeks)
  • Lab3: Lab3 aims at real-world applications by using graphics techniques. Typically, students are required to work on projects such as flight simulation, physics-based animation, collision detection of multi-objects and their physics-based responses, 2D or 3D shape morphing, etc. (3 weeks)

Course Webpage