Possible duplicate:
Is gldisableClientState required?
In OpenGL, I saw this code that follows this pattern quite often:
glUseProgram(prog_id); // ... do some stuff glUseProgram(0);
I understand that glUseProgram(0) deselects any shader programs. Now my question is, what does it mean to deselect a shader program?
For example, why or not do something like this in the render loop?
while(render_loop_condition) { glUseProgram(prog_id); // do some stuff } // various cleanup code glUseProgram(0);
Like in a rendering loop that uses multiple shader programs, can I do something like this:
while(render_loop_condition) { glUseProgram(prog_id1); // do some stuff glUseProgram(prog_id2); // do some other stuff } // various cleanup code glUseProgram(0);
source share