0
\$\begingroup\$

I saw the articles that were going on about OpenGL being better than DirectX and that Microsoft are really just trying to get everyone to use DirectX even though it's inferior so that gaming is almost exclusively for Windows and XBox, but since the article was written in 2006 is it still relevant today?

Also I know plenty of games are written in DirectX but does anyone have any examples of popular games written in OpenGL?

Thanks

\$\endgroup\$
5
  • 1
    \$\begingroup\$ It's just no true. OpenGl and directx are equal in their capabilities and performance. Personally i like directx more, because for me it is not that "messy" as ogl. Directx also has its own gpgpu language which can be easily connected with graphic pipeline (which is pretty cool, i'm working with it just now). I know there is openCl ... but connection with graphic pipeline is torture :) \$\endgroup\$
    – Notabene
    Commented Jan 7, 2011 at 14:06
  • 3
    \$\begingroup\$ It is true that DirectX only works for Microsoft platforms, while OpenGL is quite portable. An OpenGL game is much easier to release for Mac, Windows, and Linux. \$\endgroup\$ Commented Jan 7, 2011 at 14:17
  • 4
    \$\begingroup\$ -1, subjective. \$\endgroup\$
    – Tetrad
    Commented Jan 7, 2011 at 14:58
  • 1
    \$\begingroup\$ Also, examples of OpenGL games: gamedev.stackexchange.com/questions/5544/aaa-games-and-opengl \$\endgroup\$
    – Tetrad
    Commented Jan 7, 2011 at 14:58
  • \$\begingroup\$ -1 since 'better' is not on topic. If it was 'What are the differences between DX and GL' it could be a good question. \$\endgroup\$ Commented Jan 15, 2011 at 9:06

5 Answers 5

7
\$\begingroup\$

"Better", in this case, is a relative term. The two (assuming, as mentioned, D3D) are very similar in what they do and how they do it; but there is a pivotal point in here:

While D3D has more tools available (jury is still out on "better"), and perhaps better support on the Windows platform, on other platforms support is pretty much non-existent.

In computers, both Mac OS X and Linux both support OpenGL, and in terms of consoles, at least the Wii has interfaces that are highly reminiscent of OpenGL. I can't speak to the PSP or handhelds, but if they don't have proprietary interfaces, they probably have OpenGL (which is pretty much true everywhere).

It all boils down to portability: If you are supporting one platform, and one platform only, for all of eternity; use whatever makes your job the easiest on that platform.

If you plan on ever possibly supporting other platforms, the OpenGL path is probably one of the more attractive ones open to you. The other option is doing a lot of abstraction, or an engine that can interface with several different GPU interfaces.

\$\endgroup\$
2
\$\begingroup\$

Assuming you mean Direct3D:

The difference is in interface mostly. They both talk to the same underlying hardware, and there might be minor differences in what they expose, but most skills you get in one can be used in the other.

That said, tool support is a lot better for D3D than for GL.

\$\endgroup\$
2
\$\begingroup\$

First off, the only time this question is applicable is for Windows-based PCs. Console, smartphones, and mac platforms all have a singular API (or a singular API and a "closer to the hardware" API), so your question doesn't apply to them.

"Better" is a terrible term anyway. Better for what? As far as I'm concerned, DirectX is better for Windows since OpenGL drivers are generally terrible. Or at least that's what the Unity guys discovered with their cross-platform engine. I really wish I had a link for that.

Maybe at some point in time API X has feature Y which is really attractive (and therefore might seem "better")... but you can't use it because nobody would have a video card to support that feature. And if you made a game that really needed that feature it would be much harder to port it to another platform that didn't use that API.

\$\endgroup\$
2
\$\begingroup\$

The situation about those two API is greatly dependent of the PC game market which is completely dominated by microsoft.

You also have to understand that as the graphic technologies has been very much influenced by the progress made in computer speed, and since graphic acceleration involves all aspects of a computer (the electronic architecture aspect, the OS aspect, the CPU aspect, the API compatibility aspect), it involves a very tight and dense engineering work, so you can easily understand that it requires enormous resources so those technologies can not only be released, but evolve and be "easy" enough to work with for game and/or 3D engines developers.

Microsoft has been tightly working with nVidia, and they are more able to throw money to be sure their technology is more advanced on such special hardware, something which can't be possible with an open source model, since there are much less developers ready to work for an open model which doesn't rewards them money directly.

Open standards are been efficient for a long time but as this quote says: "Walking on water and developing software from a specification are easy if both are frozen." Edward V Berard

The reason why it favors direct x is because shiny stuff sells more, and shiny stuff requires recent software AND hardware.

But you can still learn OpenGL, do something sufficient with it, and let the engines do the hard work, because graphic programming evolves a lot, and don't remember Direct X is not the only proprietary: Sony, Nintendo, and other Arcade or other systems, use proprietary APIs.

So my advice is this: learn OpenGL, because for the shiny stuff, you won't stay on OpenGL. You can also learn Direct X, but if you plan to work on consoles, you will have to learn again.

All that chit chat is not very interesting: just pick an engine like Ogre or Irrlicht or Panda3D and start coding.

And one thing: if you plan to learn either Direct X or OpenGL, be sure to learn everything you can about Matrix algebra, and some more which are specific to graphic programming.

The read will be long.

\$\endgroup\$
1
\$\begingroup\$

Popular games that use OpenGL: Quake 1, 2, 3 and 4 (maybe 4), Doom 3

\$\endgroup\$
2

Not the answer you're looking for? Browse other questions tagged .