蓝宝书 第三章
单缓冲与双缓冲
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);单缓冲 相关代码见例3.12
直接将图像改变显示在画布上,使用glFlush()提交缓冲
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);双缓冲
一般图像改变在后台缓冲区,使用glutSwapBuffers()将后台缓冲提交至前台缓冲区
void glDrawBuffer(Glenum mode) 该函数可设置当前改变前台缓冲区还是后台缓冲区
glDrawBuffer(GL_FRONT) 前台
glDrawBuffer(GL_BACK) 后台
颜色缓冲区与深度缓冲区
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH)
上述语句初始化了颜色缓冲区、双缓冲区以及深度缓冲区
若未启用深度缓冲区(glDisable(GL_DEPTH_TEST)),则深度数据也会写入颜色缓冲区,使用glDepthMask(GL_FALSE)禁止写入,第六章详细讲解
剪刀盒(类似于opencv的感兴趣区域)
只对剪刀盒范围内进行处理
glEnable(GL_SCISSOR_TEST);启用剪刀盒
v