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。

相关文章

背景:    8月29日,凌晨4点左右,某服务告警,其中一个...
https://support.smartbear.comeadyapi/docs/soapui/steps/g...
有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能...
Scala和Java为静态语言,Groovy为动态语言Scala:函数式编程,...
出处:https://www.jianshu.com/p/ce6f8a1f66f4一、一些内部...
在运行groovy的junit方法时,报了这个错误:java.lang.Excep...