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的内容会被拷贝到屏幕上。我画了一张示意图:

OpenGL ES2学习笔记(2)-- Clear Color Buffer_第1张图片

清除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,看到的应该是一块黑色的画布:

OpenGL ES2学习笔记(2)-- Clear Color Buffer_第2张图片

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

import javax.media.opengl.GL

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

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

OpenGL ES2学习笔记(2)-- Clear Color Buffer_第3张图片

代码解释

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



你可能感兴趣的:(groovy,OpenGL,es)