Are there any IDE's for developing HLSL code? The three key features I want are:
1) syntax highlighting
2) auto-complete
3) interaction debugging

Visual Studio doesn't do any of these things, and it doesn't seem that RenderMonkey or FX Composer do either.

Is there some IDE that I'm not aware of, or does one of these three IDE's actually support these features and I'm too clueless to figure out how to use them properly?

edit Actually, I just found that there's a Visual Studio plugin that does it. http://intelishade.net

+2  A: 

Have you actually tried ATI's RenderMoney or NVidia's FX Composer?

Both actually provide syntax highlighting. Futher more, NVidia's Cg toolkits actually allows you to enable syntaxhightling in Visual Studio with some custom setting.

As for auto-completion, I don't think it's much needed as compare to our normal programming. It's because you won't be writing a very long code for your shader programming. Shader is quite critical in that it is run on every frame generated, and every instruction require 1 to a few clock cycle to execute, thus there's always a physical limit to how long you can afford to write.

Interactive debugging is currently the limitation of GPU hardware. To actually do that, the GPU has to be emulated with our CPU, which is quite impossible considering that the REF (software rendering) device can never cop up with even obsolete GPU, what more to say about emulating shader.

You're right, I had forgotten that FX Composer did do syntax high-lighting.But, I still do want auto-complete, which I don't think it does.And actually, it looks like I should have checked for updates before posting since there's some sort of trial shader debugger.

In the MSDev environment you can define key words and also specify 'hlsl' and 'fx' to be recognized and known files and get MSDev highlight the keywords you want.

As for the editing tools - you can use the FX composer by NVidia or RenderMonkey by ATI. If you need to debug and profile you can use their tools as well and give Pix a spin.

+1  A: 

Take a look at Shazzam. It doesn't feature interactive debugging, but it's pretty easy to edit and refresh.

Jon Galloway