Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Hello Anton,

While I was looking for a book on OpenGL on Amazon, I noticed that yours was the highest ranked book, congratulations and from there I came here.

In your book do you touch upon the mathematical backgrounds of computer graphics (how the perspective projection matrix is formed, etc.)?

Also, I couldn't see the Shadows topic in the content section. Is there shadow topic in the book too?

Thanks in advance.

(1 edit)

Hi nelzy!

Yes to both questions - here is the table of contents https://antongerdelan.net/opengl/book_TOC.html

You might also find this useful (or making your own as you go) https://antongerdelan.net/teaching/3dprog1/maths_cheat_sheet.pdf

Here is the latest version of my own maths library (an older version is built up in the book). I'd highly encourage everyone to build up (and test/compare) their own mini maths library code as you go  - best way to learn the mathematics.  https://github.com/capnramses/apg/tree/master/apg_maths

Reference code from the book is here https://github.com/capnramses/antons_opengl_tutorials_book - which might give you a preview of the shadows and transformations.

Since the book is older now - more up-to-date tips:

* Default to starting with 'OpenGL 4.1 Core' - that should work on most machines these days. You'll see this as 3 separate calls to 'window hints' to give before opening a window/context with the GLFW library.
* I think it mostly holds up over time. You might find some of the build instructions need an update - I've made some updates to the `ReadMe.md` on GitHub to help there, and I have some open Issues to update it further when I have time. Ignore any older 32-bit build stuff, of course.
* If I were to write it again now I wouldn't use C++ at all - just C since it's a C API (graphics was almost all C++ at the time).
* The most common cause of issues in new OpenGL users is make programs comprised of lots of classes  that don't reflect how the OpenGL global state works, so I'd encourage sticking to C functions that are easy to follow the flow of control and debug OpenGL state changes.
* Please overlook any cringe comments that I wrote in 2011!

hope that helps!
Anton

Thank you for the information. I'll review the book.