| JaggedSac said: Explain to us, oh mighty Impulsivity, how OpenGL is a superior gaming API? |
I'll give the top 5 reasons open GL is vastly superior (not in any order of importance)
1) it is universal. Open GL 3.0 can be used on mac, linux, PC, PS3 and Wii. It could very easily be used on whatever console MS wanted to make too if MS wasn't into forcing Direct X. Contrastingly the similar direct X 10 can only be used on Vista which less then 20% of the computer buying public uses (less then 20% US only, WAY less then 20% if you include worldwide computers). Direct X 10 is a not so subtle attempt to force gamers into using a OS most people don't like. They could easily code it for XP as well (which MANY people prefer) but they are trying to use it as a vehicle to enforce planned obselescnece. That direct X gives MS that power to limit compatibility and funnel gamers is a decided negative.
2) Open GL is compatable with just about any programing language with the right bindings. It can use code from Pascal, C#, Perl, Java, C and many more. This allows for both greater flexability and a much greater selection of libraries and choices for coding. Contrastingly direct X is dependent on handful of mainly propriatary languages including C++ and visual basic .net. This is both restrictive in terms of coding methods AND makes it more difficult to move developed projects to other platforms without doing a recode from scratch. Open GL allows for easy use of some of the same code on everything from the Wii to the PS3 to the PC to the iphone.
3) Open GL's IHV drivers have much better support for whats known as marshalling due to their user-mode components (components direct X does not have). This increases efficiency by allowing for stored commands to be efficiently exchanged all at once when the GPU's command buffer is close to being empty. This means the manual queres are eliminated and commands can be fed quickly and efficiently to the GPU after being prepared in advance. The performance gain from this is noticable.
4)Only Microsoft approved API's are allowed with direct X which limits the implementation of new more efficient API's from other vendors. For example when pixel shader support was added to graphics cards MS released a single Pixel Shader 1.1 extention that covered all graphics cards above a certain performance level making no differentiation between a low end and high end card while with Open GL Nvidia and other companies can make custom shaders to allow optimization both for their cards and for the performance of the card in question. This from the top standard being put forth by Microsoft (instead of the makers of GPUs) again reduces the efficency of the systems in question.
5) Open GL has great utility beyond gaming and is far more prevelant in professional graphics production (computer animation, scientific visualization ect.). Direct X is very limited to gaming, while Open GL is useful across a wide variety of tasks due to its better performance and compatibility (most super computers aren't exactly running Windows Vista). There is a much greater bredth of features in the Open GL API that allows for new ideas and non standard implementations that just aren't possible under Direct X.
So yah, its open source, has more utility, is free from MS monopoly pressures, allows for more efficient communication with the GPU, and can be used on every modern gaming platfrom except the 360 (by design). There is not a single way in which Direct X is superior. It's the Java to MS's equally awful .net.
PSN ID: ChosenOne feel free to add me







