现在的位置: 首页 > 综合 > 正文

OpenGL函数思考-glClear and glClearColor

2013年10月16日 ⁄ 综合 ⁄ 共 836字 ⁄ 字号 评论关闭

http://blog.csdn.net/shuaihj/article/details/7230138

OpenGL函数思考-glClear

函数原型:

      void glClear(GLbitfield mask);

参数说明:

      GLbitfield:可以使用 | 运算符组合不同的缓冲标志位,表明需要清除的缓冲,例如glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)表示要清除颜色缓冲以及深度缓冲,可以使用以下标志位

  •       GL_COLOR_BUFFER_BIT:    当前可写的颜色缓冲
  •       GL_DEPTH_BUFFER_BIT:    深度缓冲
  •       GL_ACCUM_BUFFER_BIT:   累积缓冲
  •   GL_STENCIL_BUFFER_BIT: 模板缓冲

函数说明:

      glClear()函数的作用是用当前缓冲区清除值,也就是glClearColor或者glClearDepth、glClearIndex、glClearStencil、glClearAccum等函数所指定的值来清除指定的缓冲区,也可以使用glDrawBuffer一次清除多个颜色缓存。比如:

  glClearColor(0.0,0.0,0.0,0.0);

  glClear(GL_COLOR_BUFFER_BIT);

  第一条语句表示清除颜色设为黑色,第二条语句表示实际完成了把整个窗口清除为黑色的任务,glClear()的唯一参数表示需要被清除的缓冲区。注意(glclearColor()中的四个参数中,前三个分别代表红、绿、蓝所占的分量,范围从0.0f~1.0f,最后一个参数是透明度Alpha值,范围也是0.0f~1.0f。

      像素检验、裁剪检验、抖动和缓存的写屏蔽都会影响glClear的操作,其中,裁剪范围限制了清除的区域,而glClear命令还会忽略alpha函数、融合函数、逻辑操作、模板、纹理映射和z缓存;

抱歉!评论已关闭.