In my engine I have lots of shaders that handles specified combination of textures, for example DiffTexShader, NoTexShader, DiffTexNormalMapShader, DiffTexLightmapShader etc.
Now I want do add shadow mapping effect. What is better to do? Is it better to do shadow mapping in separate pass and then combine original scene with shadow-only scene? Or it is better to duplicate all my shaders and make them able to use shadowmap to clculate shadows?
I think first approach is better to maintain (only one extra shader for rendering shadows), but much slower than second approach.