We found 37 Reddit comments about 3D Math Primer for Graphics and Game Development. Here are the top ones, ranked by their Reddit score.
You have a long journey ahead of you, but here goes :D
C++ Primer: One of the better introductory books.
The C++ Standard Template Library: A Tutorial and Reference: Goes over the standard template library in fantastic detail, a must if you're going to be spending a lot of time writing C++.
The C++ Programming Language: Now that you have a good idea of how C++ is used, it's time to go over it again. TCPPL is written by the language's creator and is intended as an introductory book for experienced programmers. That said I think it's best read once you're already comfortable with the language so that you can full appreciate his nuggets of wisdom.
Modern C++ Design: Covers how to write reusable C++ code and common design patterns. You can definitely have started game programming by the time you read this book, however it's definitely something you should have on your reading list.
C++ Templates: Touches on some similar material as Modern C++ Design, but will help you get to grips with C++ Template programming and how to write reusable code.
Effective C++: Practical advise about C++ do's and dont's. Again, this isn't mandatory knowledge for gamedev, but it's advice is definitely invaluable.
Design Patterns: Teaches you commonly used design patterns. Especially useful if you're working as part of a team as it gives you a common set of names for design patterns.
C++ Concurrency in Action: Don't be put off by the fact I've put this as an "advanced" topic, it's more that you will get more benefit out of knowing the other subjects first. Concurrency in C++11 is pretty easy and this book is a fantastic guide for learning how its done.
OpenGL: A surprisingly well written specification in that it's pretty easy to understand! While it's probably not the best resource for learning OpenGL, it's definitely worth looking at. [edit: Mix it in with Open.gl and arcsynthesis's tutorials for practical examples and you're off to a good start!]
OpenGL Superbible: The OpenGL superbible is one of the best ways to learn modern OpenGL. Sadly this isn't saying much, in fact the only other book appears to be the "Orange Book", however my sources indicate that is terrible. So you're just going to have suck it up and learn from the OGL Superbible![edit: in retrospect, just stick to free tutorials I've linked above. You'll learn more from them, and be less confused by what is 3rd party code supplied by the book. Substitute the "rendering" techniques you would learn from a 3d book with a good 3d math book and realtime rendering (links below)]
Essential Mathematics for Game Programmers or 3D Math Primer for Graphics and Game Development: 3D programming involves a lot of math, these books cover topics that OpenGL/DirectX books tend to rush over.
Realtime Rendering: A graphics library independent explanation of a number of modern graphical techniques, very useful with teaching you inventive ways to use your newly found 3d graphical talents!
You're going to need a lot of the same setup as you would if you were making a game, I think.
Have you seen the ogldev tutorials? They're pretty comprehensive and take you through building a lot of visual effects from the ground up. You'll need to cross-reference with other materials though because some topics on graphics you'll need to know the fundamentals on (like how relative coordinate spaces/scene graphs work conceptually).
Graphics development is hard, and requires a lot of study and conceptual understanding outside of just API usage. I've been picking up OpenGL/Gfx programming for about a year and I'm probably only a beginner-intermediate at this point.
3D Math Primer for Graphics and Game Development is really good and covers everything I've ever needed it to. The examples are fun and easy to read/follow.
Seconded, Game Engine Architecture is the best book for an overall view on engine development. I've also found these books useful for implementing engine subsystems:
For math I highly recommend this book
It breaks things down really simply with pictures and nice explanations.
This book is by far the best introduction to the math necessary for 3D games that I have come across. It gives you the intuition necessary without necessitating being an A++ calculus student (although that helps).
I'm not a professional graphics programmer, but I am a CS grad and a senior developer for about 10 years. I haven't yet had the time to dive into fully committing myself, however, here was my personal plan for when that moment came.
This gave some great advice and was my starting point:
Then I was going to read this to learn about game engine architecture:
I have heard that this book is the actual implementation of a game engine and a good follow up to reading game engine architecture:
Then I was going to start diving into the 3D and mathematics
Then I was just going to try and build my own 3D engine and figure it out as I went along.
I've also heard that implementing actual siggraph papers is super helpful and once you're at that point, you've kind of arrived as far as graphics programming is concerned.
I think what you're experiencing with the analysis paralysis is very normal. I'm going to say that you have this fear because you're thinking about all the things you're going to have to do and it freaks you out. Don't think about all the books and all the work you're going to have to do to reach your destination. Simply sit down each day and work on something. Just improve upon what you did the day before and have a weekly goal or something in mind. This breaks up what you're trying to accomplish into smaller steps and isn't nearly as intimidating. Don't look at everything on the horizon. Just start writing code.
John Carmack said it best when he gave someone advice on becoming a programmer "You should write hundreds of programs".
Bad project to "learn programming" with
Start with something simple like a calculator or even Hello World
If you want to learn some game programming concepts you can take various courses online. Get https://www.amazon.com/Math-Primer-Graphics-Game-Development/dp/1568817231 can be a start, then you can brush up on linear algebra and calculus.
Yes it sucks to have to do the basics first... if you absolutely have to "make games" fast use something prebuilt like Libgdx or Unity or Monogame and you can learn on the go
Go for it. Your background in comp will help in fx too as most fx peeps can't comp for shit.
Comp requires much less Computer Graphics knowledge so you're probably gonna want to brush up on math, and general CG.
Is a great start.
You want this book:
Or get it's original version (the math hasn't changed):
Get them used or find them on ebay or something.
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.
I'm no mathematician, so I don't have a good answer. But judging from the math I usually need when messing around with graphics, I rarely need anything more fancy than matrix-vector multiplication and a few scalar products and cross products. You get a pretty intuitive approach to the math after a while.
From a philosophical point of view, I'd say the more the merrier. More knowledge in a field leads to greater understanding and being able to find more elegant solutions, thus saving work.
3D Math Primer for graphics and game development is nice as a quick introduction, although I suspect mathematicians would hate me for recommending it, for similar reasons I objected to mixing the graphics field / OpenGL with game development. For a more serious textbook on linear algebra, I'm afraid you have to ask someone else. The last math books I bought and read was about number theory and introduction to calculus and limits.
A few links:
I also highly recommend for game developers lacking in math skills to check out 3D Math Primer for Graphics and Game Development. Unlike this book that is often recommended, I feel it does a better job for people who don't have a formal education in advanced mathematics or Computer Science who are interested in math directly relating to game development.
personally, I used this book to refresh myself on the basic vector math and finally understand some 3d linear algebra concepts. It probably goes a bit deeper than you'd ever need to know if you're using an engine (how 3d transformations work on the matrix-level, quaternions, polar mathematics), but the book uses extremely accessible language to explain everything, so you rarely feel confused like your typical math textbook.
I haven't read it, but this book is that standard in what people typically refer to for gamedev math. If you want to be experimental, the same author just released the first part of a series for game engine development. while it ultimately goes in a different direction, the first book here should cover the important math needed, and it is under half the length of the other books.
For OpenGL stuff, check out Anton Gerdelan's tutorials and open.gl.
For some general game design books, I may recommend:
GPU Pro is the sequel to the ShaderX series, its mainly just a rename not much has else has changed.
GPU Gems 3 is available for free here: http://http.developer.nvidia.com/GPUGems3/gpugems3_part01.html
GPU Gems, GPU Pro, and ShaderX(excluding the first 1-2 books) are basically collections of rendering techniques and tricks, they don't cover any basics, so you probably shouldn't buy them if you are looking for an introduction.
While books like the Black book and Graphics Gems are an interesting read, a bit too much stuff in them are somewhat redundant.
The "Must reads" on the site are pretty good, depending on your background you maybe want to also read a Math book. like: http://www.amazon.com/Math-Primer-Graphics-Development-Edition/dp/1568817231
I liked this one https://www.amazon.com/Math-Primer-Graphics-Game-Development/dp/1568817231/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1485480730&amp;sr=1-1&amp;keywords=3d+maths+primer+for+game
I haven't read it yet, but it was recommended on http://realtimerendering.com book list and it's got good reviews on Amazon.
3D Math Primer for Graphics and Game Development, 2nd Edition
by Fletcher Dunn et al. https://www.amazon.com/dp/1568817231
As for calculus, there is an old book Calculus Made Easy by Silvanus P. Thompson. Free to download at Project Gutenberg. https://en.wikipedia.org/wiki/Calculus_Made_Easy
If you find KhanAcademy's math lessons too long or just want text instead, check out amazing Paul's Notes. This is by a professor, started intially for his students. http://tutorial.math.lamar.edu/
More cool resources:
CodingMath on Youtube. Tightly edited. To the point. https://www.youtube.com/channel/UCF6F8LdCSWlRwQm_hfA2bcQ
3Blue1Brown on Youtube. More general math. https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw/videos
Nature of Code. A book about programming behaviors and forces. Could be an easy first step to understanding physics- and AI-related algorithms. http://natureofcode.com/book/
If you want to do a deep dive, I'd also vote for Linear Algebra. Understanding matrix math, vector spaces, affine transformations, projections, and quaternions is incredibly useful.
In that vein, I highly recommend this book. It's a pretty easy read and covers that stuff plus a ton of other (related) topics that is useful when dealing with game engines or computer graphics. I find myself referring back to it more often than I probably should at this point.
Everyone learns at their own pace, so it would really be hard to say how long it would take you. Additionally, real-time rendering is so broad that it is impossible to know it all. As you learn more, you will likely find a sub-area that you'd like to specialize in.
To get you started, may I recommend this free online course by Eric Haines, one of the authors of Real-Time Rendering?
The book "3D Math Primer for Graphics and Game Development" covers most of the important topics:
It is also rather fun to read, probably the only math book I have ever read from cover to cover.
[EDIT] I misread your post. Sounds like you want to study statistics. I don't know good stats books, soz.
Get one of the standard recommended game math books and read the chapters and work through every single practice problem:
If you are curious about matrices I highly recommend this book: 3D Math Primer for Graphics and Game Development
Even a dummy like me was able to write a simple 3D software renderer with the help of this book :)
I'm reading through and enjoying 3D Math Primer for Graphics and Game Development. It starts you off with simple 2D Cartesian coordinates and progresses to more advanced topics (like the math behind lighting in computer graphics, which I'm currently on).
Ah, I could see that. If you grab a calc book you should be able to get lighting etc. And the rest is all linear algebra. There are a lot of really good books on the topic, but one that's really good for graphics beginners is frank Luna's, "introduction to 3d game programming" series. It doesn't matter if you're using glad or directx (you should), its a great math primer for the first few chapters. This is also a great book: http://www.amazon.com/gp/aw/d/1568817231/ref=redir_mdp_mobile
I found the 3D Math Primer for Graphics and Game Development super useful as a general introduction and reference for a lot of the mathematical concepts used in game development.
Not really specific for any libraries, but always useful to have good mathematical grounding to build on.
Maths is fundamental to 3d, from everything from the description of geometry or implicits, the transformations of undistorting / distorting images, how renderers operate shaders that model reality, how the resulting images are composited. One good way to get a head around it is to check out Fletcher Dunn's 3D Math Primer for Graphics and Game Development.
As far as how much you have to get into it yourself - hopefully the software you use does most of the heavy lifting. Department by department you might want to be more familiar with different topics. As a Lighter I don't need to get into the weeds of Euler vs. Quarternion rotations (although I know broadstrokes), but if I was a Rigger it might be a lot more practical.
I usually tell people to check out these tutorials: https://www.youtube.com/fuseman. He's https://www.reddit.com/user/Fuseman/ on the Reddits. VR is a heck of a lot of fun to play around in. Get yourself a Vive and do every single one of those tutorials. By the time you're done, you'll have enough knowledge to make your own game.
The other piece of advice is to learn some math. This book has been particularly helpful to me.
I recommend http://www.amazon.com/Math-Primer-Graphics-Game-Development/dp/1568817231/ or the earlier edition http://www.amazon.com/Graphics-Development-Wordware-Library-ebook/dp/B0026A6CJ0/ref=dp_kinw_strp_1 which is more affordable.
Well, I don't know how far he is, I just want to show some tutorials that would work on Linux. They are OpenGL 3.0 and forwards, so if mobile development is the purpose, the old tutorials are propably better.
But I agree, linear algebra is important to actually understand what is done. I read this was good too: http://www.amazon.com/Math-Primer-Graphics-Development-Edition/dp/1568817231/ref=dp_ob_title_bk
3D Math Primer
Game Engine Architecture
I'd like to recommend these two.
This book helped me out alot to learning the fundamentals and math behind 3D graphics. I would recommend getting it as a starting point and great foundation, it also has exercises in it.
Uh... I only noticed now that you were looking at the first edition... I actually meant the second edition. But by comparing it I guess your comments on the chapters still apply, with only part of 6 being relevant.
Great book https://www.amazon.com/Math-Primer-Graphics-Game-Development/dp/1568817231/ref=dp_ob_image_bk
The book 3D Math Primer for Graphics and Game Development has an accessible and readable treatment of this topic for a beginning self-learner, which I found easier to learn from than the relatively terser Essential Math for Games Programmers.