I was wondering, what is the least level of education in mathematics one needs to program Opengl/direct x competently? I know its a lot of vectors and matrices, which I have worked with some....but , how much math would you reccomend.
Printable View
I was wondering, what is the least level of education in mathematics one needs to program Opengl/direct x competently? I know its a lot of vectors and matrices, which I have worked with some....but , how much math would you reccomend.
I would recommend learning the standard C++ stuff before moving on to an API. OpenGL is based from within the Win32 API.
You can use OpenGL / Direct3D without knowing too much math. Then again, you're just copying and pasting functions though. To really understand what is happening I recommend at least Linear Algebra.
GEOMETRY, anything that involves graphing! physics is helpful too
Trigonometry is required as well.
Yes trigonometry is very important little bit of geometry, algebra.
just your regular high school math, if u r still in high school it is a piece of cake but if u have been away from it for a long time its a pain .
www.Gomath.com is a good sight.
by the way as wizzard said it .dont copy it learn to as why before using it.
C++ is needed eventhough, it is a powerful and robust ,and vast language but in gaming world at least as i know ,dont exclusively rely on C++ and its classes .because other languages simply are there for u to utilize them to execute your logic, but C++ forces its own "application building"logic on you as well.
secondly the size of data and functions in C++ classes is on average greater than for instance C .noting the fact that most compilers try to optimize the language by giving your program a copy of the functions in a class rather than keeping it intact in the class and thus expanding the size. so learn C++ but dont be intimidated to have to use all aspects of it in a game.rather use it every once and a while when it is the best solution for a problem in ur game that for instance C cant have a better solution.
now can any one tell me how to calculate the arcsin function in easy to understand format;
sin(x) = y
arcsin(y) = angle that im looking for.
sin('30) = .5154
find arcsin(.5154)
i know its called an inverse but what is an inverse in math i forgot the concept.
i know these dont belong here in this thread. my apology.
Code:double asin( double x );
just 1 divided by the numberQuote:
Originally posted by SAMSAM
i know its called an inverse but what is an inverse in math i forgot the concept.
this one is out of context .but lets say between:
implementing a game logic(engine) like , QUAKE for example.
&
implementing a robot logic (like big blue in chess) or robots that
have censors for shapes or color or characteristics of objects in 3D.or(odors ?) and it could include walking & talking robots.
which be a harder task to do and requies advanced knowledge
of math?or its apples & oranges.
All of this seems a bit arbitrary. I would have to say it completely depends on what it is you are currently working on. Without a good understanding of vector math I'd say you're kinda in the woods no matter what you're doing. Most simple games don't seem to require too much math knowledge.
There are millions of tutorials on the internet about 3D graphics. Take a trip over to www.gamedev.net or www.gamasutra.com and see for yourself. As well it would be a good idea to get a book about DirectX and Direct3D which are in abundance at Barne's and Noble booksellers and other book stores. This should teach you enough about 3D to get a good start on it.
My advice is to get a book on DirectX, C++, and dive in. That's really the only way you learn. The more you get into the code the more you realize that because of DirectX you will probably be focusing more on the game than the math - which is very nice. It's a lot more fun to focus on the artwork, textures, models, sounds, music, story, cutscenes, etc., than it is to focus on writing the entire engine from scratch like all us had to back in the DOS days.
Just think of Direct3D like a bunch of tool cabinets sitting out in a garage somewhere. If you want sound, you open the sound cabinet which exposes more fine tuned sound tools that you can use. It might even expose more cabinets to open up that are also full of tools and/or other cabinets.
Math is important but if you don't fully understand it you can still get a good start from a book. After a couple of reads you will pretty much understand the basics of 3D and Direct3D.
If you want to code in DOS then you will need to understand loads of items like polygon rasterization and texturing, lighting equations, memory management in C++, assembly language (optional but almost a must for speed), protected mode programming, sound programming (unless you use a 3rd party sound engine), etc.
If you want more information, go to those websites I gave you and dive in. Don't let the stuff scare you, just dive in and attack it - it really does get easier after a bit.
as eibro said in an earlier post those api books do not teach the fundamentals of math, they teach about the api. I suggest this book if you really want to fry your brain. It's a pretty intense book IMHMFO.
thanks guys, I am looking into it. Right now I am diving into NeHe's tutorials, on lesson 11 now, I am making sure I understand what is in it before moving on, as I usually try to do.