Introduction to Computer Graphics

Version 1.4, August 2023

Author:  David J. Eck  (

WELCOME TO Introduction to Computer Graphics, a free, on-line textbook covering the fundamentals of computer graphics and computer graphics programming. This book is meant for use as a textbook in a one-semester course that would typically be taken by undergraduate computer science majors, with at least two semesters of programming as a prerequisite. Version 1.4 adds a new chapter on WebGPU. See the preface for more information.

The web pages for this book include live, interactive demos that require a modern web browser such as recent versions of Chrome, Firefox, Safari, or Edge. Chapter 9 examples require a browser that supports WebGPU. While the book is mainly designed for reading on a desktop computer, most of the demos should also work on recent mobile devices, using a touchscreen instead of a mouse.

Words in the book that are shown in this style or underlined like this refer to glossary entries; click the word to see a definition.

You can download this web site for use on your own computer. PDF versions of the textbook are also available. Links to the downloads can be found at the bottom of this page.

Short Table of Contents:

©2015–2023, David J. Eck.
This work is licensed under a Creative Commons Attribution-Noncommercial-ShareAlike 4.0 License. (This license allows you to redistribute this book in unmodified form for non-commercial purposes. It allows you to make and distribute modified versions for non-commercial purposes, as long as you include an attribution to the original author, clearly describe the modifications that you have made, and distribute the modified work under the same license as the original. Permission might be given by the author for other uses. See the license for full details.)

The home site for this book is:

Downloading Links

Printed Version

1 August 2015, Version 1.0 released
28 January 2016, Version 1.1 released
6 January 2018, Version 1.2 released
1 August 2021, Version 1.3 released
20 December 2021, Version 1.3.1 released
1 August 2023, Version 1.4 released