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: