您的位置:首页 > 运维架构

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

2016-01-20 16:25 387 查看
函数原型:

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缓存;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: