Shader wars: NVidia goes open source
Well, sort of...
John Carmack has welcomed NVidia's decision to open its source compiler technology - but not the actual compiler - for its high-level Cg language.
With competition heating up in the shader wars, NVidia wants to build momentum for Cg, and just in case we miss the point, an accompanying press release tells us that "momentum is increasing in the Developer Community" for Cg.
There's a little more detail in a FAQ on NVidia's cgshaders website:
"NVIDIA will be releasing source code to the "front-end" of the compiler, and a simple back-end. This code will contain the parser and basic non-back-end-specific parts of the compiler, and the back-end we create will walk through the parsed program and print out some human-readable output. We will release it as soon as the code is ready, there have been some tweaks to the grammar to be more compatible with Microsoft's HLSL that we wanted to get in before releasing the source code."
NVidia is positioning Cg as the "C for graphics". Presumably they don't mean that language prone to pointer errors and memory allocation bugs, with a dodgy run-time library, that takes 15 years to clear an ANSI standard ... but instead is a rich, high level language that removes the need to target low-level hardware card-by-card. (That's what happens when you let marketing people loose on the metaphors).
NVidia yesterday also said that it had signed 36,000 developers for the Cg toolkit, and was submitting the language to the Open GL spec committee (ARB). ®