hedwards: Sigh, if you don't remember all the shenanigans that MS pulled during the '80s and '90s, there's not really much that I or anybody else can do to convince you otherwise. Nothing that MS has ever done has been clean. From selling a license to an OS that they didn't own the rights to, to outright stealing their designs from Xerox to the browser wars, this is not a company that's known to play well with others. At ever step along the way they've engaged in various illegal activities.
License they didn't own yet... You must be referring to QDOS, a pretty low end copy of CP/M (I think I've got that right). Yeah, that guy that sold it to Bill got the shaft. Let's see if I can name some others off the top of my head:
- MS DOS 6.0 (featuring unlicensed Stacker Hard Disk compression technology). For those that don't know, Stacker had a decent software compression tech back in the DOS days. They had an even more awesome hard disk controller that did the Stacker compression real-time. Stacker was able to prove that MS stole their code in court, and forced MS to release MS DOS 6.20. Stacker subsequently went broke, MS picked up their tech for pennies, and released DOS 6.22.
- MS put Novell out of business (arguably Novell's management had something to do with this as well). Windows NT had a fairly reliable Novell Netware emulator embedded. It didn't help that Novell bought Corel WordPerfect and tried to compete with MS on the office front and did very little to improve their.
- Digital Research DOS (DR DOS) - it came out in court that "It [MS Windows 3.1] isn't done until DR-DOS won't run." I've heard it was in many ways superior to MS DOS. Or maybe it was just cheaper.
- IBM OS/2 - after working very closely with IBM's OS/2 team (learning the internals of OS/2 to give them a Win16 emulation layer), they put out Windows 95, and suggested everyone compile their applications for the Win32 API. Again, IBM's management (especially when it came to OS/2 pricing) shares some responsibility.
hedwards: If you choose to grant them the benefit of the doubt, that's your prerogative, but I've been around long enough to find their antics to be completely lacking in any amusement.
Agreed
hedwards: If you choose to ignore their history, that's really your prerogative, but this isn't a company that got where it is today by innovating or being good at anything other than stealing. Creating an incompatible standard was just one step in the chain. Maybe if they weren't sued shortly after that for anti-trust violations I'd have more reason to grant them the benefit of the doubt here.
Let's be clear here: I'm not a big fan of MS. But they did make it easier to make games. It was done well, and they even recommended to decouple the game code from the graphics interface library. Abstracted enough, it is feasible to do combined DirectX and OpenGL development. I believe a lot of the DirectX functions were taken directly from OpenGL, and a lot of the programming methodologies were similar. The big thing they did with their muscle was make the other Direct* libraries. DirectInput for joysticks/keyboards, DirectPlay for the cut scene movies (Bink was a competitor there, IIRC), DirectSound for the audio. Before DirectSound, you programmed sound once for each individual card (SoundBlaster, Gravis UltraSound, Roland MT-32, Adlib, ...). I believe Adlib emulation was the baseline. Same with DirectInput - Once for Thrustmaster, ... down to Generic. Used to be you had to calibrate the joystick for each game. Windows allowed the calibration to be run once, then to be passed to each game.
It's also possible to translate between DirectX and OpenGL (and even Glide) libraries. I still believe if 3dfx had managed to hang on to their engineers that spun off and formed another company, MS would've licensed or outright purchased 3dfx and converted the Glide library to DirectX. As I recall, all of the early adopters used Glide first, OpenGL second, and DirectX last.
BTW, you know MS is doing something right when the OpenSource community starts to emulate it. To compete with the Direct* libraries, a programmer working on Linux gaming for Loki Software created SDL (Simple DirectMedia Layer), which does a similar thing to what the Direct* libraries do in Windows, to aid in their porting efforts. I have a copy Heroes of Might and Magic III for Linux from Loki on my desk.
hedwards: Believe what you like, but the company has a long history of cheating, lying and tax fraud that put them where they're at today.
You have to lay some of the lack of OpenGL failure at the feet of the Khronos group and the gaming community itself, though. In pursuit of swaying leaves and grass, realistic water and fire effects, and effects that depend on GPU working as an independent co-processor instead of a slave to the CPU. All features of DirectX 10 and 11. These cannot be easily emulated on OpenGL, and progress in OpenGL seems to happening at a glacial pace. IIRC, you have to add all these extensions to get OpenGL that may or may not work on some cards. On the card manufacturer front, the cards have a version of Direct X they support, full stop. They may run like crap, but they'll look the same.
With OpenGL, it's hit and miss. I've got a laptop with an ATi X1400 mobility chipset. DirectX 9.0c compatible. DirectX games are not a problem. OpenGL - well... 1.3 games and demos are fine, 2.0 games - look awful - there's a horrible transparency problem when things should be opaque with reflections - not good.
XP not getting DirectX 10 and making it Vista only is a point in your favor, though. I'm still bitter over that one.