我很好奇您在使用 glDrawElements() 进行渲染时如何指定要使用的着色器。它是使用的最后一个绑定的着色器吗?或者你必须使用其他命令。
总结一下:当我使用 glDrawElements() 时,如何指定使用哪个着色器,即将在我渲染的 VBO 中的三角形上使用的着色器。
正确,您只需要将着色器与glUseProgram()
. 对渲染函数的任何后续调用都将通过绑定程序的管道。
glUseProgram(myCoolProgramID);
set_up_render_states();
glDraw*
glUseProgram(myGreatProgramID);
set_up_render_states();
glDraw*
glUseProgram(0);
swap_buffers();