Pra enriquecer a discusão trago à baila 3 posicionamentos
FERAS, em inglês, sobre essa polêmica:
Could you explain a few of the technical reasons for sticking with OGL instead of D3D9? Specifically with your previous mentions of considering moving to D3D because of shadow buffers, and the lateness of a better render-to-texture extension.
John Carmack, id Software - "I'm happy working with D3D9 on the Xbox 360 platform. We did seriously consider going D3D only on the PC, but there are still some mitigating factors. OGL will probably still be slightly higher performance on the PC pre-longhorn. ATI and Nvidia both still like the idea of being able to do more focused optimization work in OGL. We also still care about the Mac and Linux platforms."
What led you guys to give up OGL in favour of D3D? Any specific advantages D3D9 gives you over, say, OGL 1.5+? Considering that Serious Sam 2 is a TWIMTBP game and with nVidia's slight performance lead in most OGL games, wouldn't they prefer if you went to OGL instead?
Dean Sekulic, CroTeam - "Who says we gave up on OGL? We just use D3D as our primary API. Yes, we fully support OpenGL (although we haven't implemented render-to-texture for it, yet). We decided to have it, because of:
a) "Blackmailing" IHVs to make better drivers; that way you can say: "Look, it works in OpenGL and not in Direct3D (or vice-versa)!"
b) portability (linux client), and
c) I love it!
However, we decided to go for Direct3D as primary API because it has came so close to OpenGL in it's ease-of-use. Yes, there are some glitches, but unfortunately OpenGL has somewhat bigger glitches. It's just that the ARB can be too slow in adopting some features that are common for Direct3D. For example, StretchRect() support; OpenGL still doesn't have it (has only CopyRects() which could be insufficient when it comes to performance
of post-processing effects!), and on top of that, only recently they made a decent extension for render-to-texture functionality. Shame, indeed."
So, although I'm an OpenGL fan, I have to say that Direct3D is currently one (small) step ahead. And the drivers for Direct3D are generally better, except in nVidia case - they have great drivers for both D3D and OGL! (We get ~5% higher frame rate under OpenGL on NV 6000 and 7000 series). ATi, on the other hand, have some serious issues, and not only with performance; just simple things, like conformance with some OpenGL extension they
"support".
As for Microsoft's "brilliant" idea to slowly kill OpenGL by layering it on top of Direct3D API... Well, that's definately unfair play in my book, and I'm totally against it!!! (Where's the petition?! Where do I need to sign?
Unreal Engine 3's remarkably large portion of the licensee market will create a lot of leverage in the near future. With this in mind, I was wondering if UE3 will support OGL at all. With the advent of GLSL and OGL 1.5+, what are the most important advantages D3D9 gives you?
Tim Sweeney, Epic Games - "Our approach to Direct3D and OpenGL isn't really changing in this generation. OpenGL is now the standard graphics library for PlayStation 3, so we have an implementation up and running already, and we'll support OpenGL wholeheartedly on all platforms where it's the primary graphics API. On Windows, we focus all of our optimization and feature effort on Direct3D, since that's the best supported API on Windows that all GPU vendors focus on. In the UE2 we implemented OpenGL to make porting to Mac/Linux easier, and released it unsupported as a pet project. Whether we'll release it with UE3 is an open question -- it's definitely not a high priority on our minds right now."
Abraços.