As your game get's bigger and bigger, you will use more and more different shader effects. Let's take an easy example:
I have clouds in my voxel-based world, and I want to give it a blue-ish tint with a shader. Do I create a new shader, disable the default shader, enable the cloud-shader, draw the cloud, disable the cloud shader and enable the default one again?
If your game starts to get huge, how on earth can you use 300 shader effects enabled for 1 voxel and disabled for the other?
I know the question may sound strange, but it really makes me think.
I now have a Vertex- and Fragmentshader, for the matrix calculations, and basic lighting. If I want to add a shading-effect for for example water blocks, what to do?
I hope someone can help me with this mystery.