0) Preface

The following list is primarily intended as a study guide for graduate students (masters or PhD) who intend to do research in the area of computer graphics. Computer graphics has involved into a fairly mature field so that a decent foundation is required before good research can be done. The list gives several books that I would recommend to read. There are many different types of books and it is sometimes difficult to pick the right one. Personally, I prefer to start reading books that are less formal, more redundant and give a good intuitive understanding of a topic. These type of books might be criticized for being to easy and not rigorous enough. However, if your background is computer science, it might be hard to understand advanced mathematical texts at the beginning. I believe it is much more efficient to read the simple introduction first. Then, after you have a good initial understanding, you might get bored with introductory books and favor books that are concise, in depth and include a rigorous and complete treatment of a topic. Additionally, it is important to consider that even the simple books require a decent mathematical foundation.

In my experience it is also very important to develop the discipline to read and to start reading somewhere. As a solid knowledge of the field requires knowing about 30-50 books with 500 pages each, it is often discouraging to even start reading. My recommendation to graduate students is to read at least one book per semester and try to be disciplined to really finish the book or at least a significant part (if you take a corresponding math class this should be easier). If you do not know where to start, I typically recommend to start reading Linear Algebra and Its Application by Gilbert Strang.

Constructive comments and feedback is appreciated. Peter Wonka - May 2006. (updated January 2009)

1) Computer Graphics Text Books

1.1) Basic Text Books

There are several interesting text books that can be used as introduction to Computer Graphics. These books cover the topics of an introductory undergraduate class in computer graphics:

1.2) OpenGL

Most computer graphics programs in research use OpenGL. OpenGL is also typically covered in the first introductory undergraduate class:

1.3) Real-time rendering

The main book in this area is

The book is very ambitious and covers many topics in the area of real-time rendering and also related topics from other areas. I think this book is one of the best books to read after reading an introduction to Computer Graphics. The disadvantage is the fact that several topics are not described in sufficient detail to be understandable from the book. However, the book does a very good job to reference important research papers in most areas for further study Other interesting books in real-time rendering are the GPU GEMS. These books are collected articles about various topics that use graphics hardware. The advantage is that articles are easier to read than average research papers and the articles often include source code for vertex shader and pixel shader.

1.4) Physically-based rendering

I use the following two texts for the graduate graphics class:

2) Mathematics

To sell research ideas and to be precise in the description of what you are doing, it is important to read a lot of math. Starting with a good foundation in calculus and linear algebra you can then proceed to more advanced topics. Again, this list focuses on books that are understandable by computer science graduate students with decent mathematics background. My general recommendation to all students is to read the book Linear Algebra and Its Application by Gilbert Strang in the first semester of their graduate studies.

2.1) Calculus

2.2) Linear Algebra

2.3) Signal Processing

2.4) Wavelets

2.5) Differential Geometry

2.6) Optimization

2.7) Machine Learning

2.8) Other Topics

There are many other topics of interest, such as statistics, monte-carlo statistical methods, curves and surfaces, and calculus of variations. I need to spend more time to write book recommendations for these topics ...

3) Related Areas

3.1) Computational Geometry

Computational Geometry covers topics such as spatial data structures (quadtrees, kd-trees, bsp-trees, ...) and geometric algorithms such as triangulation that are often used in computer graphics. I would recommend the book

3.2) Image Processing

3.3) Computer Vision

Computer vision and computer graphics share many interesting problems and in the recent past conference papers included components from computer vision and computer graphics. I would recommend the book: