当我用glEnable设置东西,或者为我启用的东西指定func,然后切换帧缓冲区对象时,我的设置是为每个帧缓冲区对象保留的,还是我必须为每个缓冲区对象设置它们?在实践中,这有效吗?
glEnable(GL_CULL_FACE);
glCullFace(GL_FRONT);
glEnable(GL_DEPTH_TEST);
glDepthMask(GL_TRUE);
for int i=0; i<N; i++{
glBindFramebuffer(GL_FRAMEBUFFER, fbos[i]);
rendering something to the fbos here
}
Run Code Online (Sandbox Code Playgroud)
或者我必须写
for int i=0; i<N; i++{
glBindFramebuffer(GL_FRAMEBUFFER, fbos[i]);
glEnable(GL_CULL_FACE);
glCullFace(GL_FRONT);
glEnable(GL_DEPTH_TEST);
glDepthMask(GL_TRUE);
rendering something to the fbos here
}
Run Code Online (Sandbox Code Playgroud)
编辑:那glUseProgram呢?那是保留的吗?