CS 551: Computer Graphics

Instructor: Yotam Gingold


This course provides an introduction to computer graphics principles and practice. Students will learn to understand and implement the mathematical concepts and algorithms prevalent in the field. The course will also cover graphics software design and the modern hardware-accelerated graphics pipeline. The programming language used is C++.

Textbook: Fundamentals of Computer Graphics by Steve Marschner and Peter Shirley, Fourth Edition (ISBN 978-1482229394)


  1. 2D Compositing
  2. 2D and 3D Transformations
  3. Ray Tracing
  4. Illumination
  5. Image Processing
  6. Mesh Processing
  7. The Graphics Pipeline
  8. GPU Shader Programming
  9. Texture Mapping


Course Outcomes:

  1. The ability to apply trigonometry, geometry, vector analysis, and linear algebra to solve real-world problems, such as creating camera and object transformations similar to those implemented by graphics API's like OpenGL/DirectX/Metal.
  2. The ability to create images of 3D objects by projecting geometry or tracing light rays.
  3. The ability to understand and use current techniques and tools for GPU programming to implement advanced lighting calculations.

Honor Code:

GMU is an Honor Code university; please see the Office for Academic Integrity for a full description of the code and the honor committee process, and the Computer Science Department's Honor Code Policies regarding programming assignments. The principle of academic integrity is taken very seriously and violations are treated gravely. What does academic integrity mean in this course? Essentially this: when you are responsible for a task, you will perform that task. When you rely on someone else's work in an aspect of the performance of that task, you will give full credit in the proper, accepted form. Another aspect of academic integrity is the free play of ideas. Vigorous discussion and debate are encouraged in this course, with the firm expectation that all aspects of the class will be conducted with civility and respect for differing ideas, perspectives, and traditions. When in doubt (of any kind) please ask for guidance and clarification.

Accommodations for Disabilities:

If you have a documented learning disability or other condition that may affect academic performance you should: 1) make sure this documentation is on file with Disability Services (https://ds.gmu.edu; +1-703-993-2474; SUB I Suite 2500) to determine the accommodations you need; and 2) talk with me to discuss your accommodation needs.


Students must use their GMU email account to receive important University information, including messages related to this class. See https://mail.gmu.edu for more information.

Other useful campus resources: