Fundamentals of Computer Graphics
Spring semester, Monday, 9:50 to 12:15 am

Lecturer: Yong-Jin Liu
Department of Computer Science & Technology, Tsinghua University

Course Information

This course is designed for 16 weeks, every week three units, every unit is 45 minutes.

This course gives an introduction to computer graphics, by integrating various skills in computer science such as programming, data structure and algorithm design. With the aid of new human-computer interface, students will learn these fundamental knowledge in computer science in terms of fancy graphics effects that reduce the learning load through abstract data visualization. The content of this course includes raster graphics, interactive graphics, matrix representation of 3D transformation, curve and surface design, ray tracing and visual realism, all with OpenGL source code.


  • C++ programming
  • Linear algebra

Course Content

  1. Introduction to computer graphics (Week 1)
    1.1. What is computer graphics
    1.2. Graphics display devices
    1.3. Graphics input primitives and devices
  2. Raster display (Week 2)
    2.1. line drawing using Bresenham’s algorithm
    2.2. Filling polygonal regions
    2.3. Aliasing and antialiasing techniques
  3. Parametric curve and surface modeling (Week 3~5)
    3.1. Describing curves using polynomials
    3.2. Bezier curves
    3.3. B-spline curves
    3.4. Tensor product surfaces
  4. Advanced topic I (Week 6)
    Slides at last year are available at "Lectures" category
  5. Modeling shape with polygonal meshes (Week 7~9)
    5.1. Solid modeling with polygonal meshes
    5.2. Mesh approximation to smooth objects
    5.3. Mesh generation and simplification
    5.4. Mesh deformation and refinement
  6. Color theory (Week 10)
    6.1. Introduction: physiological basis for human color
    6.2. CIE standard
    6.3. Color space
  7. Visual realism (Week 11~12)
    7.1. Shading modeling
    7.2. Specular reflection
    7.3. Diffuse component
    7.4. Ambient light
    7.5. Shading in graphics pipeline
  8. Ray tracing (Week 13~14)
    8.1. Overview of the ray tracing process
    8.2. Intersection of a ray with an object
    8.3. Antialiasing ray tracing
    8.4. Acceleration in ray tracing
  9. Advanced topic II (Week 15)
    Slides at last year are available at "Lectures" category
  10. Project Presentation & Summary (Week 16)

Reference Textbook

F.S. Hill, JR, Stephen M. Kelley. Computer Graphics using OpenGL, 3rd, Prentice Hall.

(The Chinese translation of this book, authorized by Prentice Hall press, is also available at by Tsinghua University Press)

Optional Textbook

OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3 (8th Edition)


- Homework: 30%
- Projects: #1: 10%; #2: 15%; #3: 15%; #4: 20%
- Attendance/presentations: 10%

© 2012 @ Department of Computer Science & Technology, Tsinghua University