> How is that relevant at all. Directx10 is not available on Windows XP.
And who cares? D3D10 is still better.
> "Because Direct3D 10 hardware was comparatively rare after the initial release of Windows Vista and because of the massive installed base of non-Direct3D 10 compatible graphics cards, the first Direct3D 10-compatible games still provide Direct3D 9 render paths.
You can't have it both ways. The WinXP era hardware simply lacked support for OpenGL3-level functionality. And OpenGL3-capable hardware had D3D10 support at the time of Vista launch.
However, if we're talking about D3D9 vs. OpenGL2 then D3D9 not only wins, but SLAUGHTERS OpenGL completely. Mostly because any real-life complex OpenGL codebase had to have special code paths FOR EACH HARDWARE VENDOR.
Even after OpenGL3.0 it wasn't uncommon to have special codepaths to handle a couple of not-yet-standardized vendor extensions.
>OpenGL started deprecating legacy stuff with 4.0. The criticism from 3.0 (long peaks ordeal) became rather silent with subsequent quick releases from Khronos.
It's just that everybody have resigned themselves to the inevitable. We're not getting Longs Peak so we might as well shut up and continue to deal with the legacy crap.
>Today I see little reason to favour D3D.
Except that quite a lot of Longs Peak stuff is _still_ not completely there.
OpenGL is STILL dependent on hidden thread-local rendering context. We STILL have to use object names (handles) instead of direct pointers. Object creation is STILL not atomic and objects are mutable.
With D3D10/11 things are braindead simple: you have a pointer to a device object and you simply call its methods. And you can do this from multiple threads. Created objects are immutable (a 2D texture can't magically become 1D texture).