OpenGL is more compatible because it works on three platforms. DirectX works on one. That's why OpenGL was the first choice.
Of course.
But consider this: Since OpenGL is only a
viable choice on maybe 2/3 of the windows market, there is still a
major incentive for a DirectX option as well.
Seriously, consider the following example. I have a 600MHz laptop.
Not a high-end machine these days, but by no means a paperweight yet. There are *many* machines on the market of similar or lower specs that people are happily using, including for playing games. Heck, I can still run Warcraft 3 on it (640x480, low detail), and that's in full 3D.
Anyway: a very basic test of displaying a full screen background image in a loop and moving a smaller sprite around on it worked at about 500 FPS on that machine using the the original BlitzBasic.
With the BlitzMax Win32 Beta, a very similar test program gave me 5 FPS with the videodrivers that were installed automatically with Win2K.
After upgrading to the latest drivers directly from compaq (the manufacturer), that actually *dropped* to 0.2 FPS.
Yes. That's a between a hundred to a whopping
two-and-a-half-thousand times slower than the DirectX equivalent using the same hardware, same OS depending on the drivers used.
Now imagine having to explain to a non-techie customer that yes, while their computer is good enough to play Warcraft 3, your 2D pacman or tetris game takes 5 seconds to render each frame?
Yes, things run amazingly great if you have a videocard that supports hardware accelerated OpenGL, and has decent drivers as well.
I can get hundreds of FPS again on my Radeon 9600Pro with the BlitzMax example. But there are still a great many systems on the market for which that is not the case -- just consider how many modern, fairly powerful machines come with a budget cheapo on-board video chip that don't have any hardware openGL support.
Software rendering is slow. VERY slow, on machines that aren't in the multi-gigahertz range.
OpenGL *is* the obvious choice for Apple and Linux, by all means... But on windows, DirectX is king, and openGL an afterthought at best.
Oh well, I guess that once people actually start distributing executables into the real world, outside of their own development PC's, the above will become obvious fairly quickly.
All I can do is hope that someone will fill the void and work on a DirectX module so one can reclaim compatibility with the win32 market that's not running on top-of-the-line hardware.