Original post by Zipster
I don't know if I'd trust a full-blown artist to write shaders though. Shaders can truly be time-critical code if you're GPU-bound, and in my experience artists will use every single feature they possibly can to achieve a better visual effect unless you pull back on the reins a bit.
There was a presentation from Epic a while back which included how they let artists create custom shaders via a gui tool to wire together prefabbed shader fragments. This gives them a heap of flexibility without having to pester a programmer for every little change. Nearer to the end of development when the look and effects are nailed down they go back and have programmers hand-optimise any generated shaders that are too slow. This seems like a nice trade-off between artist control and performance to me (although there's obviously a big chunk of work in creating the tool for the artists in the first place).