OpenGL中glClear、glColor4f、glClearColor的简单说明

来源:互联网 发布:软件供应商 编辑:程序博客网 时间:2024/06/05 09:35
函数原型:    

void glClearColor(GLclampf red,GLclampf green,GLclampf blue,GLclampf alpha);
void glColor4f(GLclampf red,GLclampf green,GLclampf blue,GLclampf alpha);
void glClear(GLbitfield mask);

参数说明:

      glClearColor:red、green、blue、alpha分别是红、绿、蓝、不透明度,值域均为[0,1]。即设置颜色,为后面的glClear做准备,默认值为(0,0,0,0)。切记:此函数仅仅设定颜色,并不执行清除工作。

      glColor4f:其参数类型与glClear相同。只是此函数设定的是绘笔的颜色,即绘制出的图形颜色值。

      glClear:参数可为下列四个之一或多个,若多个之间用“|”隔开,如glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)。即用glClearClolr设定的颜色值清除缓存区。

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

函数说明:

      glClear()函数的作用是用预先设定的清除值,也就是glClearColor或者glClearDepth、glClearIndex、glClearStencil、glClearAccum等函数所指定的值来清除指定的缓冲区。比如:

  glClearColor(0.0,0.0,0.0,0.0);

  glClear(GL_COLOR_BUFFER_BIT);

        glColor4f(1.0, 1.0 , 0, 1.0);

        //开始绘制.....

  第一条语句表示清除颜色设为黑色,第二条语句表示实际完成了把整个窗口清除为黑色的任务,glClear()的唯一参数表示需要被清除的缓冲区。

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

0 0