Visual Shader Editor

I recently started working on a visual shader editor, the end result should be something similar to the “Unreal Engine 3” shader editor ( pic ). I mainly started this as some kind of experiment, but I’m not totally convinced this is an usefull tool for artists. It seems very difficult to hide the specific limitations of the graphics hardware and all the mathematics behind the various lighting equations. The key is probably provinding the right blend between high level specialized building blocks ( e.g. “phong lighting” ) and low level generic components (e.g. “multiply”).
Types also seem to be some kind of a problem: Do you want implicit clamping of “colors”? Do scalars automatically get coerced into grayscale colors? What about texture coordinates? These ideally have to be 4 dimensional vectors, making them incompatible with color inputs to blocks. Provinding “typecast” building blocks is akward, so you want some intelligence from the network compiler without breaking to many formal type rules.
I currently have some “forward” typing system where types flow from the input blocks to the result block. Each block can have a few types it accepts as inputs and based on that the output types get defined (basically each block acts like an overloaded function)

I’ve also given .NET, managed extensions for C++ and windows forms a try for this project. Altough it mangles the syntax of C++ big time ( ugly __shit everywhere, dynamic_cast < horrors > ... ) it provides a very nice Java like rapid prototype enviroment. Creating a similar tool using just bare C++ and MFC would certainly have taken much more time.
Maybe I’ll give C# a try in one of my next experimental projects as this seems to get rid of a lot of the syntax hacks of managed C++. I could just as well use java+eclipse then I guess, altough it’s nice to have a nice visual forms editor. (and JBuilder is crap!)