I have a setup where I use the same shader source for multiple objects rendered via VBOs and indices through glDrawElements(). I was wondering whether it's faster to create multiple GL shader programs and switch between them or use a single program and keep uploading the uniforms to the GPU before every draw call? I'm using OpenGL ES 3.0.
I'm mainly asking because I know that uploads to the GPU are considered expensive, but so are GL shader program switches.