Original Post
Hey all, My team and I have recently redesigned a large portion of our game's engine to be more flexible for use in future games and for potential licensing. In the engine, shaders can be loaded into a global resource pool and can be then bound as 'global shaders', or they can be loaded in with a material file and bound to a specific geometry. In the render loop, the geometry is sorted by material and rendered with the appropriate shaders unless global shaders have been activated in which case they take priority. Using our system I have been able to implement shadow mapping rather effectively, but I wanted to solicit opinions on integrating shadowing into the engine itself. I don't want to limit users to shadow mapping, or even a specific technique of shadow mapping (VSM, PSM, etc.), but a part of me wants to just have a "EnableShadowMapping()" call that abstracts it for the user. I gave a bit of a background on our material-shader system because its architecture comes into play in implementing the shadow maps. Another problem is that shadow mapping would have to be implemented into the end-user's pixel shader anyways (since we have no fixed function support), so would there be a point in abstracting it? Thanks for taking the time to consider this post. :) Best Regards, Julian