I haven’t seen a thread about this in the near past, so I figured I’d open it up for discussion. I’d like to keep the discussion more on the technical/programming side of things.
I myself am familiar with Direct3D 9/10 on a very elementary level, but am interested in learning OpenGL for its, well, openness. Which do you prefer using, or would suggest learning? Any reading materials on Direct3D/OpenGL you would suggest?
You should learn both. Then you can decide which is better for your app. I prefer dx, mostly because most AAA games use d3d, and even if you’re not on engine team you can still use your knowledge to haxfix some issues with whatever graphics related systems you’re working on.
There’s an idea. The issue I have now is the different versions of each; specifically, should I focus on DirectX 9/10/11, OpenGL 2/3/4? I don’t know enough about the compatibility to make an informed decision about the OpenGL versions, but in terms of DirectX I’m focusing on 9/10 because 1. most computers these days can run 9, and 2. I probably can’t even use 11 with my hardware. Sethis, do you have industry experience working with these APIs?
I’d say it’s difficult to say that definitively. There are advantages/disadvantages for both; really, it comes down to application versus implementation. Boiling it down to performance is out of the question, since at this point they are very similar.
D3d11 has feature levels, so you can use highest version available (though it still requires vista/7)
The same goes for ogl, bscly use highest version available on your system.
I know for sure that some BigCorps are thinking about abandoning winxp support, so dx9 is a little bit risky atm.
I’m not on engine team, but knowing dx helped me quite a few times. Remember that there are deadlines to be met, and usually engine folks don’t have enough time to resolve any non-critical (for them, that is) issues.
well, I would suggest you to use OpenGL, since it’s faster and runs nearly on all GFX cards without an issue or version compatibility problems.
Oh and it’s multiplatform, so you can code for multiple Operating Systems much better.
But if you want to code for Windows only then just jump onto the D3D bandwagon.
I’m planning on applying for an entry-level job at this little local game company. I’m not planning on doing engine work (I figure the duties will be more tool-based) but this is the exact reason I wanted to familiarize myself with these APIs.
OpenGL suits me better, it makes more sense than DX, and the way it’s done is more straight-forward.
Other than that, it’s the platform-independence and compatibility across versions up and down - no need to upgrade OGL, vs periodic need to upgrade DX.
If you want commercial employment, it’s better to know both and DX better, since commercial games are mostly made for Windows and companies are usually allergic to open standards.
just wanted to say that the thread title should be D3D vs OpenGL, because openGL is only equivalent to Direct3D, directX includes stuff like directdraw, directsound, etc while openGL/Direct3D is just for 3D rendering
^ I thought about that when making the thread, but I made a point to not exclude such things as DirectDraw and Sound and Input. Not to mention, I didn’t want to make this a debate, necessarily, between the two but a discussion about their uses, etc. as you can use OpenGL in conjunction with DirectX.
Founded in 2004, Leakfree.org became one of the first online communities dedicated to Valve’s Source engine development. It is more famously known for the formation of Black Mesa: Source under the 'Leakfree Modification Team' handle in September 2004.