Question:
OpenGL or Direct3D?
simpleMind
2008-07-18 23:52:21 UTC
I'm interested in learning a little bit about 3D game development. I'm comfortable with C++, C, a little bit of Java, as well as the 3D math involved, but my only problem is choosing which 3D Graphics API to work with. I'm an absolute beginner to this stuff, I've created a few windows applications, but nothing dealing with 3D animation. The only thing I really know is that Direct3D is part of Microsoft's DirectX API, and thus it's limited to PC, while OpenGL is cross platform.

I've created my first OpenGL application which was just a red rectangle with a black background. Nothing complicated, other than the fact that it took me 2hrs to figure out lol.

Anyway, my question is which one should I go with? What are the pros and cons of each. Where can I go to get some info about both API's other than GameDev.net?

thanks.
Three answers:
Luke
2008-07-19 00:39:05 UTC
Hi there



If you are asking which tool to select for game development then the answer is definitely DirectX it has lots and lots of stuff related to the game development including, sound, media, 3D, networking etc etc, on the other hand OpenGL is purely related to 3D programming which is an Ideal case for development of CAD applications. In my opinion you must be a master of both OpenGL and DirectX also XNA as well, but the question is where to start your game development dream. I reckon to start from OpenGL test your 3D math skills in OpenGL environment which is the best platform to learn 3D. When you feel comfortable with 3D means you are ready to go with DirectX and then spend most of your time in learning other aspects of game development.



From your foundation level to expert following resources can be helpfull for you.

http://nehe.gamedev.net a good place to learn OpenGL.



And for game programming Andre LaMothe is the most famous writer of game programming books, he has spent his life in game development. His book "Tricks of the windows Game Programming Gurus" was one of his most famous books. Also his book "The Black art of game console design" is famous now a days.



I wish you enjoy your time in game programming.
Salman A
2008-07-19 07:39:36 UTC
You've partially answered the question yourself. OpenGL is cross-platform, while DirectX is Miscrosoft platform specific. Although DirectX seems limited to platform, windows is IMHO a huge gaming platform -- if not the biggest.



Wikipedia has an article about the differences and comparison:



http://en.wikipedia.org/wiki/Comparison_of_OpenGL_and_Direct3D



If you choose to go for DirectX, you can download DirectX SDK from microsoft's website. It contains samples, source, help and libraries for developing DirectX games. If possible, get a hold of latest edition of MSDN DVD.





I don't know much about OpenGL so cant help with that.
Hi, I'm Laim
2008-07-19 06:58:23 UTC
Well, if you're Java, then go OpenGL.



Like Microsoft, go Direct3D.



That's just the path of least resistance. I can appreciate the Java, I'm Microsoft right now (not games, business) but have you seen the XNA stuff? It seems like they're making the work of writing a decent little game pretty butt-stupid (as in fairly easy).



I have just barely started tinkering. I hope they open up the resource limitations in a coming release. That's the only problem.



www.microsoft.com/xna


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...