These Computer Graphics books are beautiful, because they have lots of color plates and figures, hardcover with nice designs. I think you should appreciate these kind of things, otherwise you could just as well hold a stack of paper in your hands or read an ebook.
1. Interactive Computer Graphics: A Top-Down Approach With Opengl
This is an introductory book about OpenGL. We had an optional course on OpenGL in University and this book was required reading for this course.
Chapter 1 introduces some basic concepts, such as camera models and ray tracing.
Chapter 2 gets us started wih the OpenGL API.
Chapter 3 discusses input devices, the client-server perspective and menus.
Chapter 4 starts with a bit of geometry and linear algebra. This is followed by an OpenGL example. The chapter ends with transformations supported by OpenGL.
Chapter 5 deals with projections and perspective.
Chapter 6 is about light, light sources, reflection and ray tracing.
Chapter 7 involves studying implementation algorithms for geometric transformations, clipping and rasterization.
Modeling the real world is the topic of Chapter 8. This includes physical models based on elementary Newtonian mechanics.
Chapter 9 teaches us about curves and splines.
Chapter 10 mentions texture mapping, bit and pixel operations, composition techniques, sampling and aliasing.
The chapter titles could have been a bit longer and more descriptive. The book goes over some mathematics and theory. However, it never gets very challenging. I would not buy the book for that. There are lots of OpenGL examples. This is the strength of the book. Although the book has color plates and a nice hard cover, the code does not have syntax highlighting. You might say that I am too used to IDE’s, but I have seen syntax highlighting in at least one book, so it should be possible. I give this book 3 stars out of 5.
2. Computer Graphics: Principles and Practice in C (2nd Edition)
|Author||James D. Foley, Andries van Dam, Steven K. Feiner and John F. Hughes|
Computer Graphics is about computer graphics and principles. This book has four authors, who are experts in their field. It has a hardcover, is richly illustrated with color plates and lots of figures. If the code had syntax highlighting, then it would have been even better.
Chapter 1 covers the basics. Chapter 2 is about SGRP (Simple Raster Graphics Package). Chapter 3 presents basic raster graphics algorithms for drawing 2D primitives.
Chapter 4 describes graphics hardware. Chapter 5 introduces geometrical transformations. Chapter 6 discusses viewing in 3D, projections and perspective.
Chapter 7 is dedicated to SPHIGS (Simple Programmer’s Hierarchical Interactive Graphics System). Chapter 8 is the first of three chapters on GUI’s. These three chapters are low on mathematics and code. Dialogue design is the title of Chapter 9. Chapter 10 examines user interface software.
Chapter 11 is about representing curves and surfaces. Finally, we get back to some code and mathematics. Chapter 12 builds on the previous chapter and continues with solid modeling. Sadly, no code in this chapter. Achromatic and colored light is the subject of chapter 13. This is a fun chapter, however, the lack of color usage in this chapter about color seems paradoxical to me.
In Chapter 14 we embark on a quest for visual realism. Chapter 15 is about visible-surface determination. Chapter 16 discusses illumination and shading.
Chapter 17 explores image manipulation and storage. Chapter 18 discusses advanced raster graphics architecture. Chapter 19 describes advanced geometric and raster algorithms.
Chapter 20 concentrates on advanced modeling techniques. Chapter 21 brings to life animation.
As I said above, this book is written by four authors. Obviously, this means that the writing style differs between chapters. Some chapters have no code or mathematics. Some chapters have one or the other. These are not my favorite chapters. The code examples are written in C or sometimes in pseudocode that looks a lot like C, so you need to have some knowledge of C.
The book is quite thorough and seems pedagogically sound. It is considered a “classic” for many reasons. Personally, I learned a lot about computer graphics algorithms. I give this book 4 stars out of 5.