   About OpenGL and DirectX
  I think I'll start a big discussions with this post.My concern with this post is to be as neutral as I can get. But I would like to see your opinions.I'm reading in many places the comparisons of OpenGL and DirectX.In my opinion both are powerful and good to use.The problem I'm seeing over the internet is that some people telling DirectX is better than OpenGL. I don't understand. The OpenGL implementation provided by Microsoft can be worst than DirectX implementation, meaning the quality of one is better than the other. Who knows?Other factors that can lead to this is Khronos Group. In my reaserch, Khronos group are so slow to create new definitions on OpenGL. they are reactive instead to be an proactive OpenGL Review Board. Each time Microsoft make a new feature, Khronos Group hurries itself to create the very same feature on OpenGL.Fellows, what are your opinion abut the future of OpenGL and Khronos Group?And the new OpenGL 4.0?Thanks for replies to this topic   
  I think concentrating on learning more graphics/math/physics/computer science related subjects would be more useful. The tools come and go, the algortihms, the great ideas and concepts will always remain. ;  Microsoft has nothing to do with implementing OpenGL. They stopped supporting it after a certain point, and and your video card manufacturer will instead supply the proper drivers for using modern OpenGL.Direct3D is a part of the DirectX apis, which exists because Microsoft needs to have the technology required for their gaming platforms. DX came about back in the Windows 95 days so developers could talk directly to the hardware and make fast games under Windows, to make it a viable gaming platform, and kill off the last reason for using DOS.OpenGL is an open standard for 3D graphics, and it's a bit more broad. It's used by many people in many more industries. It's run by committee, and it's been playing catch up with DirectX on the gaming front since about 2002, when Direct3D finally matured into a good api.Either one is a good choice. Don't concern yourself with all the uninformed 15 year olds ranting about them on message boards.The quality of anything you make in 3D is up to the skill of the artists, and the skill of the programmers writing the shader algorithms.   ;  Deliverance, I agree with your opinion, but you need to use an API that fully support your ideas.Daaark, like you said, Microsoft stop to support some features of OpenGL. This is my concern. The big majority of people use windows. If the support for the OpenGL is poor, these API can be restricted to some reasearchers, not to the end users. And the quality of OpenGL will be falling down, down and down.For me if the API is poor, anything that using it, even if the best coders write the code, the result will remain poor.About shaders, when Microsoft divide the pipleline in more stages, Khronos Group made the same with GLSL.This kind of reactive posture worries me.   ;  While MS might not have anything todo with OpenGL any more they aren't restricting it in anyway; OpenGL support has been the domain of the GPU vendors for some time now and they keep their drivers up to speed. In short; if you pick OpenGL then you don't have to worry about MS's support or lack there of.Now, personally, I think the D3D11 API is the best choice if you are doing development on windows. I used OpenGL for some 8 years before having enough of the ARB's general messing up of things and jumped ship (well, I jumped then waited a year for D3D11 hardware to appear). While OpenGL is now closer on features the API itself hasn't really changed.End of the day however while I would strongly recommend D3D11 on windows it is up to you which you use; take a look at both and see which you prefer from an API and feature set stand point.However, more important than API is understanding what goes on at a 3D graphics level. The maths etc is more important than the API as when the API changes you'll still be able to take that knowledge with you.   ;  It's funny that many people seem to be forgetting that OpenGL used to lead the way, and Direct3D made repeated attempts to copy, catch up, and mimic. Now, Direct3D is doin' some neat stuff, and OpenGL is mimicking, and everyone somehow feels the need to pronounce OpenGL dead.It's all a religious war. You win some. You lose some. OpenGL is plenty powerful. My dev team prefers OpenGL because it is cross-platform, and the latest OpenGL drivers work even in Windows XP. DirectX 11 requires Windows 7. It's funny how Microsoft segments its own market. Meanwhile, OpenGL runs on Windows and just about every other platform imaginable.   ;  2 Minor nitpicks; - DX11 will work just fine on Vista as well.- OpenGL only runs on Windows, OSX and Linux as is. OpenGL|ES will capture you the mobile market but they are not the same thing. No console runs OpenGL either; Xbox360 is D3D, PS3 is PSGL (a OGL|ES 1.0 wrapper exists but no one seriously uses it because its slow), Wii uses a GL like API but it is custom to the hardware (I've worked with all 3 systems professionally)And yes, MS is segmenting its market because it wants to kill off XP so it no longer has to support it, and the Valve Steam Hardware Survey would seem to indicate that with Win7 they are very much on the road to doing this.As for May;On the hardware side;- 53.18% surveyed had DX10 hardware on Win7 or Vista- a further 3.29% have DX11 hardware on Win7 or Vista- 21.55% remain on XP with DX10 or DX11 hardware- 21.98% remain on XP with DX9 or lower hardwareOn the OS side;- 60.23% of those surveyed have Vista or Win 7 with the majority having Win7 x64 (24.77%) and 31.72% have an x64 version of Windows installed (combined Win7 and Vista)- 33.44% have a flavour of XP installed- 8.46% have OSX installedSo, yes, OpenGL being able to run on other OSes is a good thing IF you require it, and that depends very much on your target audience. Based on those numbers above, if you plan on selling to a group who have Steam installed, then right now I would say DX11 (which as an API works on D3D11/10/9 hardware) gives you a sizeable chunk of the market you would be aiming for and these numbers are only going to increase as people move over to Win7. (a game started now is unlikely to be in a sellable state for at least a year imo, and given the market Win7 has now in less than a year I don't think my projections will be far off).Now I recognise this is only one segment of the market and that you might want to sell to a different market, or you might decide to support OSX and/or Linux, in which case the choice gets muddy and it comes down to technical details of what you want to do.(and just to restate; I used OpenGL for 8 years before moving to D3D11 full time, so I would like to think my level of bias is pretty low on the API as a technical thing. As an entity however I still believe the ARB couldn't find its own arse with a map and specific GPS co-ordinates and nothing they have done since GL3.0 has so far convinced me otherwise.)   ;  As phantom said:Its more about a decision on target audience than a decision on "raw power". I would like to point out 2 things thought,- OGL|ES is not the same thing, yet depending on how your code is written it should be really fast to adapt your current OGL code to OGL|ES specification (especially for 2.0). This might be a concern especially if your target is windows/appstore.[ That is our case and iPad port is almost concurrent to our PC development ]- Right now, unless you license the Cider wrapper, if you plan on publishing a game on Steam i would use OGL. The main reason is that Steam support expanded to Mac, which is a potential source of income that I wouldn't ignore.That been said, if your target is only Windows and you think Mac users might be ignored (which is correct depending on your audience), D3D11 is the right way to go.I personally love D3D11, but unfortunately our current game platforms targets are PC(Steam) and iPad, thus we have been forced to implemented the engine using OpenGL.Regards,P.S: Btw edited just to confirm add my feeling on ARB, Opengl API is a PITA.[Edited by - kilah on June 5, 2010 8:06:36 PM];  No, it's not a religious war. For me. Like I said, my worry is related with the product's(API) quality.When the 3DLabs and others sends a list to ARB for the OpenGL's improvement purpose, the ARB didn't do about nothing with that. I think the Khronos Group will follow the same path.Kilah, the problem is that very majority of people uses Windows. I don't know what is the percentage Microsoft supports OpenGL in Win7. Win7 is very integrated with DirectX 11. I think, the OpenGL support is enough to get compatibility to previous versions. Am I right?But it isn't a PITA. It's very powerful and structured. The Shader part and the API itself.Phantom, PSGL isn't OpenGL|ES? When you say it is slow, in what points it is slow? In PS3 the graphics are very good and the game performance are reasonable.Can we have a good OpenGL|ES implementation to get the same quality on PS3? And available to the end users( one man's army developer like me )?About Wii, the quality isn't so good, even their OpenGL implementation is optimized for hardware. For me Wii, is not a parameter.Based on your comments, you like a lot OpenGL. What are the main reasons for the change to DirectX?I agree with all of you. DirectX targets one segment of the market. But this is a big audience. It can lead to other segments rejects OpenGL and start to use only DirectX, like research centers.   ;  In the past OpenGL (up to about 1.4) used to be great because it was so easy to get started with and it shielded you from a certain amount of interaction with the hardware, but unless being cross-platform is a concern I would say use D3D instead.  D3D drivers tend to be of substantially higher quality and with more features available (especially for Intel and AMD hardware), you'll need a lot fewer vendor-specific hacks and workarounds in your code, and for any modern graphics programming (VBOs, render to texture, shaders) D3D just pisses so much over OpenGL in terms of ease of use that it's not even funny.   