Reddit Reddit reviews 3D Math Primer For Graphics and Game Development (Wordware Game Math Library)

We found 23 Reddit comments about 3D Math Primer For Graphics and Game Development (Wordware Game Math Library). Here are the top ones, ranked by their Reddit score.

Computers & Technology
Books
Computer Science
3D Math Primer For Graphics and Game Development (Wordware Game Math Library)
Check price on Amazon

23 Reddit comments about 3D Math Primer For Graphics and Game Development (Wordware Game Math Library):

u/redneon · 22 pointsr/gamedev

This is one of my favourite books on the subject and one that I regularly recommend: 3D Math Primer for Graphics and Game Development

u/InvisibleMan5 · 9 pointsr/gamedev

I highly recommend Real-Time Collision Detection.

This next book might not apply to your field directly, but I believe it is a good idea to be at the very least aware of what it discusses, and it is a very excellent book on its subject: The Art of Game Design: A Book of Lenses

I recommend this book as more of a reference than a tutorial; it will allow you to quickly brush up on those areas of math and physics which you will need while writing (or perhaps working with) a physics engine. I don't recommend attempting to learn the subjects through this book alone though. Game Physics

Reading 3D Math primer for Graphics and Game Development is how I learned linear algebra, although I plan on studying the subject from a textbook when I get the opportunity. I keep the book close for easy reference of the math related to 3D rendering (such as the projection and view matrices), although if you get this book you will want to read the errata document on its website. There may be better books to teach this stuff now, so please don't jump on it too hastily.

A couple books I do not own, but plan to correct that as soon as I can:
Game Physics Pearls and Real-Time Shadows

If I think of any others, I will edit this comment.

u/aaron_ds · 8 pointsr/roguelikedev

While 2d math is common in roguelikes, 3d math is much more rare. Chapters 1-5 on coordinate systems, and vectors apply, but chapters 7-17 do not. While familiar with matrix math, I don't find it applicable to roguelike development. The visibility systems described in chapter 16 is not as far as I can tell from the preview on amazon applicable to roguelikes. In fact I'd be more confused if I read that and then tried to use it in a roguelike.

> By any means I would say that geometry (at any level) wouldn't be enough even for a RL. But right now I plan to focus on geometry, since it seems to be the most fundamental subject and the one I lack the most.

If I had to put together a primer on roguelike math:

u/ferrx · 5 pointsr/gamedev

I am pretty similar to you in that I have a weak math foundation while being a computer scientist. For me it was just simply a lack of taking classes that I now feel I should have taken. Over the years since college I have been picking up random things as a pro and hobbyist. Here was something major I did to pick up 3D math quick (2-3 weeks):

3D Math Primer. I read through this, and implemented everything that I could in code. I created a Generic and highly param-based (i.e. n-dimensional) C# math library that has classes for Vector, Matrix, Complex Numbers, Quaternions, as well as a bunch of general math functions. (edit: Don't just read that book and expect to pull everything off, you should find yourself tearing through wikipedia entries for vector/matrix/etc and google results to get those classes packed full of cool methods, but that book was the root of everything relevant to my library).

I highly recommend this approach for programmers that feel they're lacking in math as it is fast, it works, and you end up with a math library that's probably better than anything readily available to you that you can use in your games.

I should also mention that the more you read in this field of CS (physics books for gamers, rendering books, etc), the more you'll get used to esoteric looking math equations.

u/michaelstripe · 5 pointsr/gamedev

Here are some books I 'procured' that are pretty interesting and probably helpful

u/timostrating · 3 pointsr/Unity3D

TL;DR

Take a look at spaced repetition. Study without any music and use the absence of music as a check to see if you are still motivated to do your studying.

<br />

I fucked up my first part of my education too. Lucy i realized that and got motivated again before i finished school.

I am currently 19 years old and I also always loved math (and some physics). I am from the Netherlands so our education system does not really translate well to English but i was basically in highschool when i only did things that interested me. I got low grades on everything else.

1 moment in highschool really stayed with me where I now have finally realized what was happening. In highschool i had a course about the German language. I already had a low grade for that class so I sat to myself to learn extremely hard for the next small exam. The exam was pretty simple. The task was to learn 200 to 250 German words. So I took a peace of paper and wrote down all 250 words 21 times. 1 or 2 days later I had the exam. But when i got my grade back it sad that i scored a F (3/10) . I was totally confused and it only destroyed my motivation more and more.
What I now have come to realize is that learning something is not just about smashing a book inside your head as fast as possible.

<br />

So these are some tips I wished I could have give myself in the first year of highschool:

Go and sit in an quit room or in the library. This room should be in total silence. Now start with you studying. As soon as you feel the tension to put on some music than you should stop and reflect and take a little break.

The default in nature is chaos. Learn to use this as your advantage. I sit in a bus for 2+ hours a day. 1 hour to school and 1 hour back. Nearly every student does nothing in this time. So I made the rule for myself to do something productive in that time like reading a book. Normally I am just at my desk at home and before I know it it is already midnight. So this is for me at least a really good way to force my self to start reading a book in dose otherwise wasted 2 hours.

Get to know your body and brain. I personally made a bucket list of 100 items that includes 10 items about doing something for a week like running at 6am for a week of being vegan for a week. Fasting is also really great. Just do it for 1 day. So only drink water for one day and look how you feel. And try the same with coffee, sex, fapping and alcohol. Quit 1 day and look at how you feel. And have the goal to quit 1 time for a hole week strait.

Watch this video to get a new few about the difference of low and high energy. I never understood this but I think that everybody should know about the difference https://youtu.be/G_Fy6ZJMsXs <-- sorry it is 1 hour long but you really should watch it.

Learn about about how your brain stores information and how you can improve apon this. Spaced repetition is one of those things that really changed the way I now look at learning something. https://www.youtube.com/watch?v=cVf38y07cfk

<br />

I am currently doing my highschool math again for fun. After I am done with that again i hope to start with these 3 books.

u/MrBushido2318 · 3 pointsr/gamedev

On the math side I read 3d Math primer for graphics and games as it was one of the only 3d math books available for the kindle. It is a pretty easy read and covers a lot of subjects. I'm considering picking up Essential Mathematics for Games and Interactive programming as a refresher if it ever gets released as an ebook since I've seen it be recommended a few times and it is a slightly more recent text.

As for the 3d programming side, it really depends on what you want to do. I chose to program in opengl and picked up the opengl superbible, which I would recommend. I've not touched directx yet, but have heard good things about Practical Rendering and Computation in Directx11 though I don't think this is intended as an introductory text for directx, but as a reference for those familiar with 3d already.

u/krizo · 3 pointsr/programming

This book is a good one to have around as well.

written by a former professor of mine.

u/napperjabber · 3 pointsr/gamedev

Looks awesome!

This book is amazing. It goes through all the basics of the math you need.

u/zrrz · 3 pointsr/gamedev

> To simply invert the direction of a vector it takes me hours to figure out which formula to use.

Do you mean like

v' = v*-1

A vector is simply a displacement of scalars. Can just use basic algebra on it.

I learned most of the math I use in games from: https://www.amazon.com/Primer-Graphics-Development-Wordware-Library/dp/1556229119
There are later editions that you can get for varying prices, but I'm not sure what that does to the price point. This book goes way more in depth than I needed to be able to use a game engine's math or be able to write my own simple vectors, matrices, quaternions, or simple physics stuff.

The really important thing is to get a strong understanding of how to use vectors and quaternions - and depending on the library/engine, matrices.

u/[deleted] · 3 pointsr/opengl

Im in the same boat as you but I have paddled for sometime, here is the books that are awesome to work with:

  1. Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL (6th Edition).

    2)3D Math Primer For Graphics And Game Development

    3)Fundamentals of Computer Graphics

    these 3 books will come very handy when you start computer graphics...the main one is the Interactive Computer Graphics book, written by Edward Angel, Dave Shreiner, Dave Shreiner is an awesome guy and he is also one of the authors of OpenGL programming guide.

    with that being said these books dont teach OpenGL, they teach Graphics, and all these books are advance, because let's face it 3D & graphics in general are hard topics..

    Interactive Computer Graphics takes a nice approach to both the math and the concepts, it also introduces the basics of modern OpenGL using shaders, the problem about it for me is its a bit hard to get the math, because it assumes that you got linear algebra down but it has some appendices with it that explain some math but nowhere near enough.

    The other two books unfortunately I havent been able to get into but they are very recommended by people around the web.

    So if you can read all three at the same time...they will help in every way.

    if you need more help or want to know how far I have come, then by all means shoot me a PM..or I will shoot you one.
u/quentinp · 3 pointsr/gamedev

This was a great help to me:

3D Math Primer for Graphics and Game Development

After digging into it enough I finally felt I had an understanding of Quaternions, Frustrums, among other important 3D concepts. (Forced myself to do the math problems and such).

u/stormblaast · 2 pointsr/gamedev

Well, the OpenGL superbible is very OpenGL centric (hence the name), but it sounds like you perhaps need to understand some basics on the underlying math. The 3D Math Primer for Graphics and Game Development is a pretty easy to read book on math specifically for game development. Covers most of the stuff you'll need to know. There are other math books on that subject, but they tend to be a bit more difficult to digest, but that's just my opinion.

u/CodyDuncan1260 · 2 pointsr/gamedev

Game Engine:

Game Engine Architecture by Jason Gregory, best you can get.

Game Coding Complete by Mike McShaffry. The book goes over the whole of making a game from start to finish, so it's a great way to learn the interaction the engine has with the gameplay code. Though, I admit I also am not a particular fan of his coding style, but have found ways around it. The boost library adds some complexity that makes the code more terse. The 4th edition made a point of not using it after many met with some difficulty with it in the 3rd edition. The book also uses DXUT to abstract the DirectX functionality necessary to render things on screen. Although that is one approach, I found that getting DXUT set up properly can be somewhat of a pain, and the abstraction hides really interesting details about the whole task of 3D rendering. You have a strong background in graphics, so you will probably be better served by more direct access to the DirectX API calls. This leads into my suggestion for Introduction to 3D Game Programming with DirectX10 (or DirectX11).



C++:

C++ Pocket Reference by Kyle Loudon
I remember reading that it takes years if not decades to become a master at C++. You have a lot of C++ experience, so you might be better served by a small reference book than a large textbook. I like having this around to reference the features that I use less often. Example:

namespace
{
//code here
}

is an unnamed namespace, which is a preferred method for declaring functions or variables with file scope. You don't see this too often in sample textbook code, but it will crop up from time to time in samples from other programmers on the web. It's $10 or so, and I find it faster and handier than standard online documentation.



Math:

You have a solid graphics background, but just in case you need good references for math:
3D Math Primer
Mathematics for 3D Game Programming

Also, really advanced lighting techniques stretch into the field of Multivariate Calculus. Calculus: Early Transcendentals Chapters >= 11 fall in that field.



Rendering:

Introduction to 3D Game Programming with DirectX10 by Frank. D. Luna.
You should probably get the DirectX11 version when it is available, not because it's newer, not because DirectX10 is obsolete (it's not yet), but because the new DirectX11 book has a chapter on animation. The directX 10 book sorely lacks it. But your solid graphics background may make this obsolete for you.

3D Game Engine Architecture (with Wild Magic) by David H. Eberly is a good book with a lot of parallels to Game Engine Architecture, but focuses much more on the 3D rendering portion of the engine, so you get a better depth of knowledge for rendering in the context of a game engine. I haven't had a chance to read much of this one, so I can't be sure of how useful it is just yet. I also haven't had the pleasure of obtaining its sister book 3D Game Engine Design.

Given your strong graphics background, you will probably want to go past the basics and get to the really nifty stuff. Real-Time Rendering, Third Edition by Tomas Akenine-Moller, Eric Haines, Naty Hoffman is a good book of the more advanced techniques, so you might look there for material to push your graphics knowledge boundaries.



Software Engineering:

I don't have a good book to suggest for this topic, so hopefully another redditor will follow up on this.

If you haven't already, be sure to read about software engineering. It teaches you how to design a process for development, the stages involved, effective methodologies for making and tracking progress, and all sorts of information on things that make programming and software development easier. Not all of it will be useful if you are a one man team, because software engineering is a discipline created around teams, but much of it still applies and will help you stay on track, know when you've been derailed, and help you make decisions that get you back on. Also, patterns. Patterns are great.

Note: I would not suggest Software Engineering for Game Developers. It's an ok book, but I've seen better, the structure doesn't seem to flow well (for me at least), and it seems to be missing some important topics, like user stories, Rational Unified Process, or Feature-Driven Development (I think Mojang does this, but I don't know for sure). Maybe those topics aren't very important for game development directly, but I've always found user stories to be useful.

Software Engineering in general will prove to be a useful field when you are developing your engine, and even more so if you have a team. Take a look at This article to get small taste of what Software Engineering is about.


Why so many books?
Game Engines are a collection of different systems and subsystems used in making games. Each system has its own background, perspective, concepts, and can be referred to from multiple angles. I like Game Engine Architecture's structure for showing an engine as a whole. Luna's DirectX10 book has a better Timer class. The DirectX book also has better explanations of the low-level rendering processes than Coding Complete or Engine Architecture. Engine Architecture and Game Coding Complete touch on Software Engineering, but not in great depth, which is important for team development. So I find that Game Coding Complete and Game Engine Architecture are your go to books, but in some cases only provide a surface layer understanding of some system, which isn't enough to implement your own engine on. The other books are listed here because I feel they provide a valuable supplement and more in depth explanations that will be useful when developing your engine.

tldr: What Valken and SpooderW said.

On the topic of XNA, anyone know a good XNA book? I have XNA Unleashed 3.0, but it's somewhat out of date to the new XNA 4.0. The best looking up-to-date one seems to be Learning XNA 4.0: Game Development for the PC, Xbox 360, and Windows Phone 7 . I have the 3.0 version of this book, and it's well done.

*****
Source: Doing an Independent Study in Game Engine Development. I asked this same question months ago, did my research, got most of the books listed here, and omitted ones that didn't have much usefulness. Thought I would share my research, hope you find it useful.

u/Tefferi · 2 pointsr/JobFair

I read 3D Math Primer For Graphics And Game Development and can recommend it. As the title suggests, it goes pretty deep into 3D math, so I'd recommend it as an intermediate read rather than a beginner one. In terms of beginning reads, there's plenty of information/free resources out there. Specifically, I'd learn trigonometry, vector math in 2 and 3 dimensions (dot product, cross product), basic calculus, and basic linear algebra, in that order.

u/Metaluim · 2 pointsr/programming

Even though this stuff is interesting and overall important in many fields of study in CS, you really don't need linear algebra for most business apps (which I think makes up most of the software made today). But everyone should know this by heart if they ever happen to find themselves on a different problem domain. Also, a book that introduced me to these concepts nicely was this one: http://www.amazon.co.uk/Primer-Graphics-Development-Wordware-Library/dp/1556229119/ref=sr_1_1?ie=UTF8&qid=1314745763&sr=8-1

u/UltraRat · 2 pointsr/GirlGamers

C++ is hard to practice at since any useful application in C++ is huge and done by multiple people. I would recommend reading Effective C++ if you haven't already to brush up on how C++ is really different under the hood from other languages.

As for 3D math I thought 3D Math Primer for Graphics and Game Development was a pretty solid review for me at least after being out of college for awhile. But I'm not sure how it would feel to introduce the concepts new.

u/savage8008 · 2 pointsr/learnprogramming

The most fundamental math understanding for computer graphics is linear algebra. You'll want to learn about Vectors and matrices, trigonometry and geometry. I want to answer your questions to the best of my ability, but I would rather direct you to some really great resources which can probably do a better job, because this is exactly what they are for. I think if you follow through these in order, you'll be well on your way.

Great book for the math you're looking for. You might be able to find this as a pdf online somewhere. Vector math and trigonometry are used everywhere in graphics programming. Absolutely everywhere. In my opinion this is the most important subject to understand.
https://www.amazon.com/Primer-Graphics-Development-Wordware-Library/dp/1556229119

This site teaches the fundamentals of graphics programming from the ground up, with samples. I haven't been on it in a while but from the looks of it it's even better than the last time I used it.
https://www.scratchapixel.com

Once you feel comfortable with the basics, try experimenting with opengl. This is where you'll really start doing gpu programming, and probably write your first shaders.
http://www.opengl-tutorial.org

Good luck

u/Paul_Haile · 1 pointr/gamedev

This book will be all you need to get your feet wet in 3d: http://www.amazon.com/exec/obidos/ASIN/1556229119/

u/Manbeardo · 1 pointr/gamedev

I bought this book solely for its section on quaternions (very well explained), but the rest of it is pretty good too. It covers a wide range of maths needed in 3D graphics and explains them well.

Most of its content isn't relevant to 2D, but I'd say it's a worthwhile purchase in the long run.

u/agiantman · 1 pointr/gamedev

The books posted are great for 3D rendering.

However, you're a flash developer and I'm concerned about your proficiency level with C++. If you're meh at C++, then I recommend that you write some sample C++ code to get the hang of C++ before you dive into implementing 3d mathematics and rendering.

Some resources for C++:
http://www.amazon.com/C-Pointers-Dynamic-Memory-Management/dp/0471049980

Although the best way to get good at C++ is to just code in C++! :)

Also you need a strong foundation in 3D math before getting to the rendering:
http://www.amazon.com/Primer-Graphics-Development-Wordware-Library/dp/1556229119

u/5OMA · 1 pointr/gamedev

I read this one and thought it was pretty good. It's pretty simple and gets across the points fairly well and didn't feel overwhelming like some other books on the subject.