Math knowledge required to learn OpenGL?

I understand that OpenGL probably is the way to go for graphics (at present and) in the future. I have always used different 2D based graphic libraries so i have not been forced to deal with 3D vectors, matrix math and such things i understand are involved in 3D.

I wonder how much algebra and geometry math that is required to be able to use OpenGL to create 3D applications? I would love it if the answers where quite specific so i understand which parts to focus on when gaining the necessary knowledge.

Minimal. Go play with the NeHe tutorials (no math required) and you'll learn what kind of math is needed. Most of the complex stuff is done by libraries now anyway, so don't sweat it.

You are strongly encouraged to learn basic linear algebra; that's vectors and matrices for you. You don't need to know any advanced mathematics though.

I bet that you can find out "how to do something" by looking at examples and only learning the code you need!

Hmmm.. So you can get by with weak Trig skills?

Quote:

Minimal.

True. But it helps a lot if you actually know what you're doing instead of just copying code from tutorials...

Quote:

But it helps a lot if you actually know what you're doing instead of just copying code from tutorials...

**Looks around - gets nervous**

But some people dont do that right?

Basic OpenGL probably doesn't need very much math. But if you want to have physics in your game, good luck.

I could squeeze some "simple game physics" in there i am sure. Instead of using dx,dy i would have dx,dy,dz and do "falling" as normal with the dy variable. If i only worked with spheres or cubes i could even do the collision detection with my existing math knowledge

I'll learn basic linear algebra to start with..

Thanks to everyone for the helpful replies! (but by all means, let the discussion go on if you have something to add)

You can learn the math on the fly as you go on trying more complicated stuff. If you don't like the idea, just see it as learning more of "OpenGL". Apparently there is some sort of stigma on math by itself.

Real programmers aren't afraid of math!

Seriously: Just start programming, and whenever you bump into math stuff you don't get: well, just one more chance to learn something new & useful! I would recommend, though, to learn the basic concepts of general game programming (logic loops, timers, input, data structures etc). Thinking in 3D is a bit more complex than in 2D, so you should get the basic stuff straight at least.

I can only recommend the book "Tricks of the 3D game programming gurus" by LaMothe. It really helped me get into 3D math / programming. Being able to program your own software rasterizer you should have no problem of understanding what OpenGL does

This is a really good tutorial I find helpful from time to time.

In my opinion you don't have to know much about math before attempting to use OpenGL. At least I didn't, and I have written several games using OpenGL (Ultimate Steroids, Enigma, I Have No Tomatoes).

It really on depends what you're trying to do, your basic tile collisions will work in 3d too - just throw some no-brainer "physics" in (i.e. gravity) and you've got Enigma

Naturally something more complex with realistic physics involves quite a bit of math. But to get started in OpenGL, no, you don't need a degree in math.

Quote:

"Tricks of the 3D game programming gurus" by LaMothe

I'll check it out when i get more free time. I liked "J2ME Game Programming" released by LaMothe (not written though).

Quote:

This is a really good tutorial I find helpful from time to time.

Bookmarked! Thanks!

Quote:

Go play with the NeHe tutorials

Ok, i was thinking that some math was required for them as well. But i will check them out.

I will go with the learn the maths on the fly approach. Before i get started i will take a linear algebra course though to have some kind of foundation to build upon.