Me and my friends decided to make a game engine as a graduation project and this summer we are dedicating ourselves to really get into the knowledge we need before actually starting the project.

We are starting by watching the UC San Diego CG course(s) (there is an advanced course now) and also read the Essential Mathematics for Games and Interactive Applications 3rd Edition book (we are a bit undecided about the book so if you have any comments about it we will greatly appreciate them).

Our problem mainly is that while googling for CG books, answers on this community and even on other sites seem to always suggest outdated books (like Computer Graphics C Version 2nd Edition).

Now, I personally don't think a book being outdated is necessarily bad, but it could be. Depends on how differently things in the 2020 are being done and as a beginner I am obviously ignorant of that aspect.

Is a book being outdated a problem?


It depends on the focus of the book.

If it is merely explaining the mathematical theory behind 3d rendering, then the math did not change.

But if it actually teaches you 3d graphics APIs, then you should look for a more recently written book. Because a lot of those changed a lot in the past years. When the book is from 1997, then it won't even know about programmable shaders yet - the fundamental building block of any modern GPU-accelerated 3d renderer.

If you really want to know what exactly you need to learn for your project, then I would recommend to search the Internet for a basic and recently written OpenGL, Direct3D or Vulkan tutorial. You will soon see what theoretical and practical knowledge you will need for your project and can then look for resources which provide you with that knowledge.

  • \$\begingroup\$ well I do have the openGL superbible (the edition for openGL 3.3) but I tend to think of openGL as something separate of computer graphics as a topic of study. I know openGL facilitates doing computer graphics work but learning it in of itself isn't the same as learning computer graphics and this is why I am looking for a computer graphics book. Am I wrong? \$\endgroup\$ – Eyad H. Jun 21 '20 at 17:58

There are a couple reason why recommendation may tend to bias to older books, regardless of whether or not the older books are better.

One is that the longer a book is out the more people may have had a chance to read it. Which implies it is likely that less people have read the modern book, and thus less people would be willing to recommend it.

The other is that you will find older results that predates many modern books. They could not possibly have recommended a book that was not out yet.

Plenty of OpenGL books will cover some topics of computer graphics, and many books on computer graphics will have examples with OpenGL. And the OpenGL code might be obsolete.

However, focusing on the computer graphics, it is a safe bet to start with an older book. The math does not change, but new algorithms are developed. It often helps to understand the older algorithms to understand the recent ones. Plus, that a book is newer does not mean it has more advance contents.

About Computer Graphics C Version, it is certainly dated. It goes on and on about old hardware, not a problem, skip that. It is not focused in games. However it covers a lot of 2D and 3D graphic algorithms that you'd miss with the other book. If you want to learn the nitty-gritty of old graphic algorithms, this book is great. It covers the essential math in an appendix.

About Essential Mathematics for Games and Interactive Applications, I have the second edition, it does a great job covering the essential math (it is in the title after all), and it goes straight to 3D. I find this book more practical, it will get you started much faster, but it also seem to fall short, staying too much in the essential. There is a little OpenGL code in this book, those can be ignored.

My recommendations is Physically Based Rendering: From Theory To Implementation. This book cover some not so essential math (it assumes you understand some basics), and will go into implementing the pbr as the title suggests among other modern shading techniques. Consider it a complement to either of your picks. There is a free version online.

And of course, if you run into something you don't understand, we have the stackexchange network.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.