glClear与glClearColor

1.glClear   void glClear(GLbitfield mask);

官网解释:clear buffers to preset values,用预制的值来清空缓冲区

参数:GL_COLOR_BUFFER_BIT,颜色缓冲

GL_DEPTH_BUFFER_BIT,深度缓冲

GL_STENCIL_BUFFER_BIT,模板缓冲

值的预制主要通过glclearcolor,glcleardepth,glclearstencil来完成,它提前设置好值,OpenGL是一个状态机,它就相当于设置好了context的一个状态值。

同时清除多个缓冲区可以使用逻辑或操作符

glClearColor(0.5,0.2,0.3,1.0);
glClearDepth(1.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

unity相机中有一个属性为clear flags,它的原理和glclear是一样的

你可能感兴趣的:(OpenGL)