Original Post
Hello, right now I have a typical forward renderer with multipass lighting. When my current project is finished (won't take long, deadline is in a couple of weeks), I can start re-thinking the whole stuff. I am looking at all options now, including deferred shading. Reading about it, I noticed three real disadvantages: alpha blending, fillrate, and restricted shaders. I can live with the first two (the fillrate can be dealt with a little using scissor tests for lights), but the last one keeps me thinking. After all, shouldn't be the artists able to create some custom shaders? I thought about some visual shader fragment linking, like U3 does (given that artists won't touch the actual shader code unless they really have to :) ). This would be a great features, shaders as assest, but just does not fit with deferred shading as far as I can see, since at the 2D stage one cannot distinguish the source geometry. So now I wonder which way to go. Deferred shading really shines in terms of lighting complexity, but custom shaders are nice too. I'm not sure if there is a way to add flexibility to the deferred shading uber-shader pass. I would really miss this feature because then, if I want to insert some new effects, I have to modify the renderer, no matter which effect. For example, with the traditional forward renderer, I could easily insert some refracting/reflecting water with fresnel, and I wouldn't have to touch the renderer. With deferred shading thats an entirely different story. Your thoughts?