What saved openGL ultimately was that directx only runs on microsoft devices. Mac/Unix/Linux/Android/PS3.... All use OpenGL.
All good... you know, part form the fact that Android uses OpenGL|ES (aka OpenGL's saner relation) and the PS3 doesn't use GL at all.
(An OGL|ES layer exists for the PS3 but no one in their right mind uses it...).Directx only became king because microsoft partnered with game companies and funded hundreds of game titles in the late nineties. They flooded the markets with windows only games and this set the standard from that point onward.
OpenGL was still the renderer of choice in the late 90s and very early 2000s; I was still playing Counter Strike on the source engine using OpenGL as late as 2001, UT's OpenGL renderer was better than the D3D one of the time and iD was still pushing OpenGL solutions. D3D9 came out, stopped doing dumb things and the ARB utterly failed to bring matching functionality for some time (look up the history of the VBO and FBO extensions for example of features which massively lagged D3D due to IHV infighting) and have managed to stumble time and time again (OpenGL2 & OpenGL3 being the big ones, the last being the one which finally made me go 'screw this noise..' and swap to using D3D).
The source engine didn't come out until 2003 when it was stolen by hackers, I have no idea where you got 2001. Valve and ID have always been open source friendly, some of their early games where openGL because they wanted to port them some day. Just because early directx was garbage doesn't mean it wasn't heavily used. As I recal most OpenGL games made back then where also D3D, if need be. The few years where the infighting did hold it back is over with now. It only lasted a couple years and I feel the vendors learned allot from it.
OpenGL will always be around regardless of it's slight ineriority to Directx, all becuse it runs on almost everything. Yes I an OpenGL fan admit directx is slightly better, ...just slightly.
By the way I love OpenGL|ES, I always assumed it was openGL. My bad on that.

Find content
Not Telling
