API use was shifted in favor of DirectX by Microsoft's two-pronged DirectX campaign around the launch of XBox 360 and Windows Vista, including the spread of FUD (fear, uncertainty and doubt) about the future of OpenGL, and wild exaggeration of the merits of DirectX. I thought it was because that, at the time, the OpenGL API was shit [1]. By the time of OpenGL 2.1, OpenGL was running into a problem. It had a lot of le…
Why you should use OpenGL and not DirectX
11–20 of 187 posts
Re: Why you should use OpenGL and not DirectX
#12Today with tools like Unity3d, UDK, CryEngine, Shiva Engine, MonoGame etc, game developers are at a point where they can pretty much stop worrying about the OpenGL/DirectX layer beneath their engines. Those Engines have become so powerful and affordable that it hardly makes any sense to roll your own. In fact, imo you would need a very strong reason to build your own engine these days instead of focusing on your product.
Soon all of these will support WebGL/HTML5 as a target and even render most of the (still very basic) WebGL engines obsolete.
Now if you were in the business of creating your own tools or engine, you would need to support both of OpenGL and DirectX to be able to support all the major platforms anyway.
Re: Why you should use OpenGL and not DirectX
#13Re: Why you should use OpenGL and not DirectX
#14API use was shifted in favor of DirectX by Microsoft's two-pronged DirectX campaign around the launch of XBox 360 and Windows Vista, including the spread of FUD (fear, uncertainty and doubt) about the future of OpenGL, and wild exaggeration of the merits of DirectX. I thought it was because that, at the time, the OpenGL API was shit [1]. By the time of OpenGL 2.1, OpenGL was running into a problem. It had a lot of le…
It's also a legacy issue: once developers start using DirectX, it's harder for them to go back, and traditionally PC development has been Windows-only (more or less) for many years. Now that the market is becoming fragmented again between different platforms, there is more incentive to go for a cross-platform API than before - and that's where standards matter.
Re: Why you should use OpenGL and not DirectX
#15Even Microsoft supports WebGL (based OpenGL ES 2) in Internet Explorer 11.
Beside that the article doesn't mention that OpenGL 2 came late (and 1.x is way outdated). And to bootstrap OpenGL 2+ on Windows you still need a OpenGL 1.4 context to create an OpenGL 2+ context. So not so trivial at all :/
As the article is pre-smartphone era: the future for OpenGL/WebGL is very good now. You can run WebGL on every device/OS (beside Windows, OpenGL 2/3 but no ES driver).
Re: Why you should use OpenGL and not DirectX
#16As a sidenote, Wolfire is currently working on http://www.wolfire.com/overgrowth which is quite impressive in terms of game mechanics. They also post development videos on Youtube regularly which i find highly interesting: http://www.youtube.com/WolfireGames
Re: Why you should use OpenGL and not DirectX
#17Earlier quoted context omitted.
DirectX has a way better API which might be why. DirectX has been COM oriented, OOP design, for years. While OpenGL was handle-based, purely procedural.
Yes, many that bash DirectX never experienced how the whole ecosystem works and the existing offers in terms of tooling for performance analysis.
Re: Why you should use OpenGL and not DirectX
#18Isn't this more or less a problem of the past? Today with tools like Unity3d, UDK, CryEngine, Shiva Engine, MonoGame etc, game developers are at a point where they can pretty much stop worrying about the OpenGL/DirectX layer beneath their engines. Those Engines have become so powerful and affordable that it hardly makes any sense to roll your own. In fact, imo you would need a very strong reason to build your own eng…
Yes and no.
If you want to be writing a typical 3d game like an FPS, and RTS or 3rd person platformer, you can and probably should use an off the shelf 3d engine and stay away from the lower level APIs, OpenGL and d3d.
However, if you want to do something more exotic, say processing your webcam input stream with your GPU, or write a space scale render of the solar system or do anything that diverges from the use cases you typically use 3d engines for, you might still be better off using D3D or OpenGL directly.
Then there are aspiring future game engine programmers and hobbyists who want to use OpenGL directly. It's arguably more interesting than paying for a 3d engine but it's more work of course.
So most people do not need to touch D3D and OpenGL, in the same way that most people do not need to write C. But some people must and some people want to.
Re: Why you should use OpenGL and not DirectX
#19As a sidenote, Wolfire is currently working on http://www.wolfire.com/overgrowth which is quite impressive in terms of game mechanics. They also post development videos on Youtube regularly which i find highly interesting: http://www.youtube.com/WolfireGames
If you ask me, these guys should have realized the opportunity and work more on Receiver at the time since it had the traction and enough sales to show up on Steam store charts. But there will always be guys who will insist on working their Magnum Opus, and consequentially, there will be vaporware.
Re: Why you should use OpenGL and not DirectX
#20Again that post. Spreading the lie that all game consoles support OpenGL. Yes, OpenGL is a great API if one cares about portability and FOSS. Reality, the game industry cares about their IP and getting games released no matter what technology stack is used. Many AAA studios don't even develop for all platforms, rather target a main one, leaving the port to subcontractors. Back in the golden days of the arcades, many…
AAAs are one thing and are mostly based on engine technology that has been in development for years. For them D3D vs. OpenGL is a non-issue that was solved a decade ago. Or they stick to being Windows only. And they have the budget to port (or hire a subcontractor to port) one way or another.
For indies, on the other hand, the most money these days is (probably, don't have any stats at hand) coming from Android and iOS, which both use OpenGL (ES). Using off the shelf game engines is a very popular option but a lot of developers roll their own tech.