Well, one for example have to deal with transparency, refraction and reflection, as you only have some textures for deferred rendering, which for example contain the depth or the normals of the scene. And you can only have the normal of of one surface at one pixel and not the one of several surfaces. Because of this, deferred rendering is often not used for such surfaces, which means that you will always need a second shader for everything. There are some alternative solutions, but they have drawbacks as well. The whole thing is very pixelshader intensive and thus won´t work at acceptable speed on mobile devices, so they for sure don´t remove the possibility for forward rendering, which would be stupid anyways, as one may wants to transform vertices or put some extra information into an extra texture or transforming the normal and diffuse texture for parallax mapping.
The problem is, that the whole pipeline is kinda complex and everything has to fit together. While with a forward rendering approach, you just have one shader per object and they just don´t influence each other.
The whole stuff will be perfectly fine, when sticking to the builtin shaders, but something custom probably doesn´t get easier.

Last edited by Slin; 06/30/10 10:39.