Which is more marketable OpenGL or DirectX skills?

Started by
5 comments, last by Tachikoma 12 years, 9 months ago
I've been going through job ads and the overwhelming majority of them seem to list DirectX or DirectX derivatives (particularly XNA) as requirements, as opposed to OpenGL (which I've been teaching myself for the last couple of weeks). As the thread title implies, which skill set is more valued by game studios: OpenGL or DirectX? I'm planning to eventually learn both...but where should my emphasis be in my portfolio (as far as getting a job)?
Advertisement
I would say your emphasis should be in implementing and understanding graphics techniques and the math behind them. DX or OGL really doesn't matter if you understand the subject matter and how the GPU works.
Neither. Both. Either.

A graphics programmer should be able to use any graphics API -- what matters is the theory (which applies to all APIs).

A game programmer (not specializing in graphics), doesn't need to know either, but experience would obviously be appreciated.
While it's true that a developer who speaks one can pick the other up in short order, if you actually want to get through the first stage CV filtering at a games developer, you'll need current DirectX.

OpenGL may well be a better API, more useful in more different markets, but the problem is that if you want to be a games developer, you'll need that magic keyword. If you want to work in graphics in any OTHER industry then they find good graphics people hard enough to find that they'll take a background in either.

The only caveat to this is mobiles. iPhone, iPad and Android are all GL based. Again, an understanding of either API is good, but specifically GL ES is what they're after.
I'd suggest to put more emphasis on one or the another depending on the recruiter. I have the feeling (I cannot demonstrate this) I've missed an interesting position because I switched GL->D3D some time ago... because you know, D3D is just for games. How many things are wrong in this statement?

Anyway, don't even think about learning both at the same time. They will make a huge mess. I'd suggest starting with D3D10/11 if you can, build something and then try to port.

Previously "Krohm"


I'd suggest to put more emphasis on one or the another depending on the recruiter. I have the feeling (I cannot demonstrate this) I've missed an interesting position because I switched GL->D3D some time ago... because you know, D3D is just for games. How many things are wrong in this statement?

Anyway, don't even think about learning both at the same time. They will make a huge mess. I'd suggest starting with D3D10/11 if you can, build something and then try to port.


Just as a side note though, I strongly argument against that "D3D is just for games".
I work on architectural design and the softwares (Autodesk Revit & AutoCAD) we are using use Direct3D for acceleration (or deceleration as it sometimes feels).

Otherwise, I think that OpenGL and D3D are getting closer to each other and knowing one gives a lot of knowledge on the other too.

Cheers!
Does not matter what you are starting with, both OpenGL and Direct-X offer similar capabilities. If you want to be practical about learning APIs, stick to one API first. Pick a platform that is most accessible for you, or the one you want to develop for. For instance, learning Direct-X makes little sense if you want to target Macs for a while. Get familiar with the API your chosen platform offers. When you are comfortable with 3D programming concepts, look into the alternative API to extend your knowledge. Learning the alternative will be easier, because you have more experience, and also because APIs are based on similar concepts.

Direct-X:
- Windows
-Xbox

OpenGL
- Windows
- Mac
- Linux
- Many embedded devices uses a simplified subset of OpenGL

Start hacking!
Latest project: Sideways Racing on the iPad

This topic is closed to new replies.

Advertisement