微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

OpenGL ES2学习笔记2-- Clear Color Buffer

Color Buffer

如果把OpenGL想象成一个画家的话,那么它的画板并不是屏幕,而是framebuffer。这个framebuffer很复杂,它内部又包含其他几个buffer,但其中最重要的是一个double-buffered color buffer。OpenGL先在“back” color buffer上画画,画好之后,把“back” color buffer和“front” color buffer交换,然后“front” color buffer的内容会被拷贝到屏幕上。我画了一张示意图:

清除Color Buffer

指挥OpenGL作画的第一步是清除上面提到的Color Buffer,这一步骤可以通过调用两个方法来完成:

void glClearColor(float red,float green,float blue,float alpha)
void glClear(int mask)
glClearColor()方法告诉OpenGL我们想用什么颜色清除Buffer,glClear()方法告诉OpenGL我们想清除哪个Buffer。

OpenGL颜色模型

这里简单的提一下,OpenGL使用的是叠加RGBA颜色模型。其他常用的颜色模型包括HSV、HSL和CMY等。

在OpenGL Console里试验

打开OpenGL Console,看到的应该是一块黑色的画布:

把下面的Groovy代码复制粘贴到脚本编辑器里:

import javax.media.opengl.GL

gl.glClearColor(1.0f,0.0f,1.0f)
gl.glClear(GL.GL_COLOR_BUFFER_BIT)

点击Run Script按钮,画布应该变成红色:


代码解释

第一行导入javax.media.opengl.GL接口,所有的OpenGL常量都定义在这个接口里。接着调用glClearColor()方法,并传入红色。最后调用glClear()方法,传入GL_COLOR_BUFFER_BIT常量,告诉OpenGL清除color buffer。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐