HLSL's, Cg and the RenderMonkey

Overall

So, we have two very different products from ATI and nVidia. RenderMonkey is simply an interface onto existing (and future) APIs, while Cg is an entirely new programming language. Rather than just providing an interface to talk to existing (and future) hardware, they've actually tried to drive development in the direction of HLSLs. Unfortunately for nVidia, they've either been inventing the wheel so that Microsoft can come along and modify it, or they've been reinventing the wheel just behind Microsoft's research department. To be fair, Cg should allow us to use shaders on DirectX and OpenGL, but other than that, there's very little that is going to look different when DX9 is released.

I think it should be obvious by now that, personally, I love the idea of HLSLs, and I really can't see the future of graphics programming without them. Admittedly, it may take some time for them to gain widespread acceptance, but you can guarantee that, in a few years, the only people writing VS/ PS assembler are going to be continuing to play their banjos and grow their beards.

Cg will probably go down as "the first" high level language, and it's definitely the first one to have gained widespread publicity, but I rather doubt that we'll be using it a year from now. Instead, I think it's likely that DirectX programmers are going to be using Microsoft's solution, and OpenGL programmers will be using whichever solution they need for the graphics card they're currently programming.

With regards to RenderMonkey and the D3DXEffect structures, I think these are going to be increasingly popular models for the development of materials in real time graphics software. I hope we will see some more integration with modelling packages, and I'd be surprised if this doesn't come along sooner or later.

To sum up, we've seen a big gamble from nVidia, and a good piece of tools development from ATI. I think they'll both be useful in the long run; certainly Cg has been quite a buzzword for a few months (although its longevity is questionable); and RenderMonkey may be the first iteration of a tool suite that everyone will end up getting to know. I guess we'll just have to wait and see.