DX or OpenGL?
So, I want to eventually learn a graphics API, and I was wondering if I should learn OpenGL or DX?
What are the pros and cons of each API?
I know DX supports more than just graphics. But on one forum I'm on, they think that DX is the crappiest API there is, and the Microsoft should die for making it.
And how would coding with each API be?
You could also try a board search, and find things like this or this or this.
You forum people and your searching... :P
Anyways, thanks for the links. :D
I'll probably end up using OpenGL with a combination the SDL or OpenAL.
1. Microsoft didn't originally make it
2. OpenGL because it's portable. 
Consider reading http://en.wikipedia.org/wiki/Direct3D_vs._OpenGL
 I'd rather not have someone tell me off about, "omgz DirectX runzezez on my 1337 xbox".
Originally Posted by michaelp
A lot of people think a lot of things, that being one of the sillier things to think. A lot of great things have been made in both APIs, OpenGL has the benifit of being able to be ported to every OS, and there's a great book on the subject, "The Complete OpenGL programming Guide" (aka "The Red Book"). It's nice and not too difficult if you accompany it with a multi-platform windowing/sound API like GLFW, SDL, or wxWidgets.
Starting to lean toward DX a little for a couple of reasons now:
1. I use Windows and don't plan on changing that anytime soon.
2. Most people don't buy a Mac or get Linux to play games. :P
3. Most games are coded using DX.
4. The API can't be as bad as those people think. I hope. :)
5. It's more than just a GFX API.
So, I will probably try and use DX for those reasons. Just need to find the SDK and latest version for XP now.
Only 1 of your reasons seem to be for what you need. The rest have no effect on your decision.
Whether or not people use max or linux to buy/play games is not effected by the multiplatform nature of OpenGL. if you make a program for windows, you can very well use it exclusively on windows, someone else who may want it on mac could compile/code it for mac. It's open source friendly in that regard.
Also most people don't buy mac or linux to play games, but these are GRAPHICS APIs, not Game Development Frameworks. They can be used to make a wide variety of graphics applications, from 2D CAD, to 3D modeling, to image manipulation programs, etc etc. People do buy Macs for that.
Just make informed decisions, not ones based on other people's opinions.
Still, I don't plan on making applications with C++. More games. Still planning to go for DX, even though you proved most of my points wrong. :o
Anyone know a tutorial that shows how to set up DX 9.0c for XP? (That is the latest version for XP, right?)
I'd rethink the "not use C++" - nearly all modern games use C++ because it's a very efficient language for making games.
I can think of another argument for DirectX. At least it's my opinion, everyone might not agree, but since DX is privately owned, it means that, unlike OpenGL, the API develops very quickly. If DX was an open standard, it would be at version 2.0 now (like OpenGL!) or even less.
In the near future, DirectX might just surpass OpenGL in functionality.
If it were fully open source that may not be the case, it's not unusually common for closed applications to be as updated as DirectX, but since, as it was addressed, MS licences their technology for commercial use, they have to keep it updated and supported. One thing I like about MS, even with their express editions of their software they provide a lot of support and resources.
And OpenGL is a bit of an ugly bastad, but It's my ugly bastard.
The point is, due to Microsoft owning DirectX, it's updated frequently and fast. But OpenGL, not being owned, like C++, progress in the API goes verrrrrrrrrrrrrrrrrrrrry slowly.
lol, whoops. I meant to type OpenGL, not C++. :P
Originally Posted by matsp
One bad thing about it being constantly updated is now the newest version is only available for Vista. Oh well. :P