[citation][nom]nottheking[/nom]It's about time we've seen the Doom 3 engine (aka idTech 4) finally GPL'd. For those unaware, Carmack, Id, et. al, have liked to release the source code for their engines. Granted, in the past 10 or so years, Carmack's dogmatic clinging to OpenGL instead of DirectX has largely marginalized his engines to not be as important as they used to be, but even today, it's good to have a major engine available as open-source.I will admit it's been disturbing that starting with Quake, each engine has taken longer from the release of the initial game to it being GPL'd as open-source: 3 years for Quake, (1996->1999) 4 for Quake II/Id Tech 2, (1997-2001) 6 for Quake III/Id Tech 3 (1999-2005) and now 7 years for Doom 3/Id Tech 4. (2004->2011)[/citation]
Its not dogmatic. It is on principle, and one that I embrace. OpenGL is an open standard for graphics technology, that is cross platform and can be implemented on any video device. DirectX is a Windows wrapper layer for video that is proprietary to Microsoft and thus can't be cross platform, ever.
You would think that OpenGL meant the burden of implementation fell on drivers, but it does even with DirectX, every new game (like Skyrim) Nvidia / AMD are in a race to release hacked drivers that optimize whatever DirectX calls new games use, without actually knowing the implementation of DirectX in the OS. Either way you go, the drivers change on a daily basis.
DirectX is just M$ getting in the way of graphics technology. OpenGL applies to everything from cell phones to rendering farms for animation to web based applications. DirectX is only ever used in gaming, and only because M$ has a ridiculous grasp on the PC gaming market, BECAUSE of their psuedo-monopoly where everyone uses DirectX, and thus Nvidia / AMD have poor OpenGL compliant drivers, etc.
OpenCL though, will probably revolutionize this entire shebang. I expect Carmack to write id 6 almost exclusively with OpenCL to crank out whatever ounce of performance per frame he can come up with. Where OpenGL is an abstraction library of binary function calls that are generalized across platform and provided by the driver, openCL is a language wrapper that lets programs execute direct GPU commands like on the 360 and ps3, which is what he was talking about at the Quakecon keynote.