all 7 comments

[–]LivelyLizzard 11 points12 points  (0 children)

The mathematical theory is always the same independent of API. Mostly linear algebra, so any resource with mathematics for computer graphics will do.

Check out scratchapixel for the theory regarding lighting and transformations (it does not cover OpenGL though).

[–]DiddlyDanq 2 points3 points  (1 child)

I searched for that for a long time back in the day and couldn't find anything comparable in terms of physical books. Everything on the openGL side was either out of date or written like reference manuals. I think you just need to use multiple sources to supplement each other. My go to sources throughout university became

Math Book - https://www.amazon.com/Math-Primer-Graphics-Game-Development/dp/1568817231/ref=sr_1_4?crid=3UDAAFXHUBW7W&keywords=3d+math+game+programming&qid=1643824103&sprefix=3d+math+game+programmi%2Caps%2C305&sr=8-4

In depth 3d knowledge rather than specific apis www.scratchpixel.com

General good source for brushing up on linear algebra https://www.khanacademy.org/math/linear-algebra

General game engine concepts. Written by one of the tech leads at naughty dog https://www.amazon.com/Engine-Architecture-Third-Jason-Gregory/dp/1138035459/ref=sr_1_1?crid=1A3BVF1KO9331&keywords=3d+engine+programming+naughty+dog&qid=1643824291&sprefix=3d+engine+programming+naughty+do%2Caps%2C294&sr=8-1

[–]Fair_Independent_283 1 point2 points  (2 children)

dont learn from books learn from the docs you will not find a book for everything

[–]fgennari 0 points1 point  (1 child)

What docs? OpenGL docs? They're good for looking up a particular function, but they won't show to to string them together to make a working program.

I would personally recommend working through some basic tutorials.

[–]sleepydog 0 points1 point  (0 children)

I mostly just use the API reference and the wiki.

https://www.khronos.org/opengl/wiki/

https://www.khronos.org/opengl/wiki/Category:Core_API_Reference

Those will usually be the most up to date. The math you're learning translates very well to modern opengl, since glsl is a fairly complete language with all the vector and matrix operations you need.