Well, it’s not about which one is better. It’s about the development history of both of them, the 2 giants in the graphics accelerator API which has made this world full of beautiful games. I got this information from reading a very interesting article in Tom’s Hardware. If you don’t like history, then so be it. However, if you interested in what caused the gaming industry grows in such tremendous speed, be my guest.
It was quite a battle between the david and the goliath. Microsoft used their finance to win the developer, while SGI used their reputation and technical experience. The “David” gained support from a legendary 3D game creator: John Carmack, the developer of Doom and Quake engine. Even then, he stated that Direct3D was not developer friendly and encourage others to start using OpenGL.
Microsoft, on the other hand, created the foundation of DirectX from scratches. While at first DirectX was strikingly complicated and confusing, Microsoft didn’t back down and continue the development of DirectX. With the release of DirectX 5, they finally gain some competitive edge to fight against OpenGL head-to-head.
In 2005, OpenGL finally began to catch up with it’s direct competitor. However, the SGI financial and political condition has been much worse due to the internal conflicts. By then, DirectX had shown it’s dominance over the world. OpenGL major players/stakeholders (ATI, NVIDIA, 3D Labs, and other graphics software developers) agreed that things couldn’t go on this way, or else OpenGL would sink into oblivion little by little due to obsolescence.
It was the time of battle of graphics technology. OpenGL was developed in C++ and using it’s own shader language, called GLSL (GL Shader Language). Some features included in GLSL makes no sense in today’s GPU technology, but the need of backward compatibility between OpenGL 1.0 up to OpenGL 3.0 is something essential, thus making quite a problem for OpenGL developer. Moreover, since OpenGL is open source technology, it means all developers need some kind of understanding to what needs to be achieved, what needs to be done, and what needs to be omitted. It did stir a problem during the invention of OpenGL 3.0. Contrary to Microsoft, since they developed DirectX single-handedly, there is no need to do some kind of understanding which may leads to the conflict of interests. By that time, Microsoft has developed the free-to-use OOP shader language called HLSL (High-Level Shader Language).
While looks like DirectX victory was smooth and flawless, it should be noted that Microsoft made a mistake in the development of DirectX 10. DirectX 10 until now, is exclusively made for Windows Vista, contrary to the DirectX 9.0c which can be used as long as the hardware meets the criteria to use Windows CE which included DirectX 9. Back then, it was a huge mistake not to let the new DirectX works with backward compatibility below Windows Vista. As a result, most of the games developed until 2010 was developed using DirectX 9.0c. Even until now, a lot of games still developed with DirectX 9.0c to maintain the backward compatibility so at least the games are playable in Windows XP.
The Verdict?
It is clear that DirectX won against the OpenGL. DirectX was known as an advanced and powerful graphics API in Windows-based system and has implemented many innovative features. However, since it is exclusively run on Microsoft devices, it holds a major drawback: Mobility. As we all know, although OpenGL is not as smooth and powerful as DirectX, OpenGL is widely used in mobile game development. Currently, iOS and Android are two major forces which compete each other showing which device can run OpenGL ES 2.0 better. However, even though Windows Phone 7 run a DirectX 9.0 compatible GPU, the applications which run on Windows Phone 7 aren’t that many, compared to iOS and Android.
So, in term of PC Gaming, DirectX is the leading technology which has made a lot of high-end games. However, in term of mobile gaming, OpenGL still dominate the whole world. Let us see how Microsoft adapts with current situation, knowing that Windows 8 Surface tablet included with XBox Live will be released this year. Will DirectX takes over the throne of mobile gaming? We’ll see…
One thought on “A Brief History of OpenGL vs Microsoft DirectX”