My thoughts for the material editor. The Material editor should be made user friendly. That means just like any user, he would like to press buttons and add things the easy way, not write scripts. 🙂 Ive searched the net and found some interesting info about writing shaders:
A quote from the website code4k.blogspot.
Shader languages like HLSL, Cg or GLSL are nowadays driving the most powerful processors in the world, but if you are developing with them, you may have been already a little bit frustrated by one of their expressiveness limitations: the common problem of abstraction and code reuse. In order to overcome this problem, solutions so far were mostly using a glue combination of #define/#include preprocessors directives in order to generate combinations of code, permutation of shaders, so called UberShaders. Recently, this problem has been addressed, for HLSL (new in Direct3D11), by providing the concept of Dynamic Linking, and for GLSL, the concept of SubRoutines, For Direct3D11, the new mechanism has been only available for Shader Model 5.0, meaning that even if this could greatly simplified the problem of abstraction, It is unfortunately only available for Direct3D11 class graphics card, which is of course a huge limitation…
https://github.com/SiliconStudio/paradox/tree/f5c45f5855842d0fe0942032dc08230ce9bb034d/sources/engine/SiliconStudio.Paradox.Engine/Rendering – gpl, brdf shaders
Nice links shows examples for inspiration and stuff. More later about the material editor.