I am looking for some advice and to start a discussion on how to implement robust shader systems in my engine.
Right now I have shaders running, but it extremely hard coded I am looking for a way to make them not hard coded, and in this case let my game play programming write the shaders and have them work with the various objects in the game world, without having to dive into the engine code.
In terms of structure right now I handle things like this:
That should give a general idea of how I am setup, the problem is that inside my model class I have all the parameters that get passed into the shader hard coded.
In addition I am working on porting stuff to an actual Component Based system, rather than just having my root GameObject called Component.