http://blog.wolfire.com/2010/01/Why-you-should-use-OpenGL-and-not-DirectX
OpenGL har alltid varit bättre och snabbare än än Direct 3D. Tekniker som "tesselation" osv som Direct 3D utvecklare brukar skryta om fanns redan i OpenGL 3 år tidigare! Faktiskt så fanns det tekniker för det längre bak än så.
Draw calls är också ganska mycket snabbare i allmänhet i OpenGL.
Det finns 3st anledningar till att Direct X är såpass stort som det är:
1. Microsoft's tunga marknadsföring och attacker med FUD (fear, uncertainty and doubt) där man starkt attackerat OpenGL utvecklare. Dem har tom hotat om att ta bort möjligheten till APIt i och med lanseringen utan Windows Vista.
2. Ännu mera ful och falsk marknadsföring, låt mig citera:
"The launch strategies for Windows Vista and Windows 7 were both accompanied with an immense marketing push by Microsoft for DirectX, in which they showed 'before' and 'after' screenshots of the different DirectX versions. Many gamers now think that switching from DirectX 9 to DirectX 10 magically transforms graphics from stupidly dark to normal (as in the comparison above), or from Halo 1 to Crysis. Game journalists proved that there was no difference between Crysis DX9 and DX10, and that its "DX10" features worked fine with DX9 by tweaking a config file."
Jag vet inte hur ofta jag måste trycka ned alla Direct X fanboys med detta. DIRECT 3D ÄR ETT API. Om jag skulle programmera Tetris i Direct 3D 11 så skulle jag få världens snyggaste Tetris? Nej du, det funkar absolut inte så. Du kan göra spel x i D3D9 många gånger snyggare än y i D3D11, det handlar bara om hur bra du är på att programmera, optimera och använda APIt.
3. Dokumentation. Här har visserligen Microsoft gjort ett väldigt bra jobb, men det finns gott om dokumentation om OpenGL också. Köp en bok, läs guider osv osv.
Det är väl i övrigt ganska självklart att det är enklare att optimera någonting för något som är öppet än stängt? I OpenGL så har du ju total insikt i hur allt fungerar och kan optimera koden utefter behov.