Optimize the shaders using defines instead of uniforms