# 3D Math Primer for Graphics and Game Development, 2nd Edition

This Year
Hacker News 2

This Month
Reddit 2

This Year
Hacker News 2

This Month
Reddit 2

https://www.amazon.com/Math-Primer-Graphics-Game-Development...

The book "3D Math Primer for Graphics and Game Development" covers most of the important topics:

https://www.amazon.com/dp/1568817231

It is also rather fun to read, probably the only math book I have ever read from cover to cover.

3D Math Primer for Graphics and Game Development is a great introduction to 3D math. It presents everything in a very approachable way (rather than a very rigorous mathematical way).

If you want to dive even deeper after that one, a good supplementary text is Essential Mathematics for Games and Interactive Applications. It goes deeper into the topics, but it isn't quite as approachable, so it's a good follow-up.

Since you have big ambitions, you have to invest the time to learn the fundamentals. It is not a matter of what you learn first -- you can learn them simultaneously if you want to. (That's what I did.)

This means that you need to understand:

Three.js.Three.js does an excellent job of abstracting away many of the details of WebGL, so personally, I'd suggest using Three.js for your project. But remember, Three.js is inalpha, and it is changing frequently, so you have to be prepared for that. Most people learn Three.js by studying the examples. Avoid outdated books and tutorials, and avoid examples from the net that link to old versions of the library.WebGL.If you use Three.js, you don't need to know how to program in WebGL, you just need to understand the WebGL concepts. That means, that you just need to be able to read someone else's WebGL code and understand what you read. That is a lot easier than being expected to write a WebGL program yourself from scratch. You can learn the WebGL concepts sufficiently well using any of the tutorials on the net, such as the beginner's tutorial at WebGLFundamentals.org and Learning WebGL.Math.Again, you at least need to understand the concepts. Three good books are:3D Math Primer for Graphics and Game Development by Fletcher Dunn and Ian Parberry

Essential Mathematics for Games and Interactive Applications: A Programmerâ€™s Guide by James M. Van Verth and Lars M. Bishop

Mathematics for 3D Game Programming and Computer Graphics by Eric Lengyel

I hope this is helpful to you. Good luck.

[0] https://www.amazon.com/Real-Time-Rendering-Third-Tomas-Akeni... [1] https://www.amazon.com/Math-Primer-Graphics-Game-Development...

I also read a ton of presentations and papers. Highly recommend the famous PBR SIGGRAPH course notes [0], especially the intro to light & physics by Naty Hoffman. GPU-Driven Rendering Pipelines [1] is another recent goodie.

[0] http://blog.selfshadow.com/publications/s2013-shading-course... [1] http://advances.realtimerendering.com/s2015/aaltonenhaar_sig...

GPU Gems, Shader X and GPU Pro are good series for learning specific graphics programming techniques.

https://www.amazon.co.uk/Game-Programming-Patterns-Robert-Ny...

Realtime rendering overview: https://www.amazon.co.uk/Real-Time-Rendering-Third-Tomas-Ake...

Related math: https://www.amazon.co.uk/Math-Primer-Graphics-Game-Developme...

Other recommendations:

http://mrelusive.com/books/books.html

http://fabiensanglard.net/Computer_Graphics_Principles_and_P...

It's fun to explore the source though, and NVIDIA has some cool experimental branches of the engine with their stuff integrated. https://github.com/NvPhysX/UnrealEngine

Does anyone have a semi-comprehensive list of math concepts I should learn for low-level graphics? I'm coming from a really sparse math background, as I only took up to Calc 2 in college.

Also, any general recommendations on the best way to learn graphics would be great. I'd say I'm more interested in graphics engines and experimental graphics than I am to actually making games.

Thanks

[1] https://www.amazon.com/Math-Primer-Graphics-Game-Development/dp/1568817231/ref=sr_1_1?ie=UTF8&qid=1488396630&sr=8-1&keywords=math+for+3d+graphics