【发布时间】:2013-04-10 09:55:51
【问题描述】:
我对使用 openGL 有一些疑问 我是使用openGL的新手,我尝试设置正方形的RGB,它可以工作,但是在我使用混合功能后它不起作用。当它重绘时,正方形终于消失了。
以下是部分代码
@Override
public void onDrawFrame(GL10 gl) {
// clear Screen and Depth Buffer
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
// Reset the Modelview Matrix
gl.glLoadIdentity();
// Drawing
gl.glTranslatef(0.0f, 0.0f, -5.0f); // move 5 units INTO the screen
GLES20.glBlendFunc(GLES20.GL_SRC_ALPHA, GLES20.GL_ONE_MINUS_SRC_ALPHA);
GLES20.glEnable(GLES20.GL_BLEND); // is the same as moving the camera 5 units away
square.draw(gl); // Draw the triangle
//square.loadGLTexture(gl, this.context);
gl.glColor4f(red, green, blue, 0f);
red = red - 0.01f;
blue = blue - 0.01f;
green = green - 0.01f;
GLES20.glDisable(GLES20.GL_BLEND);
}
【问题讨论】:
-
什么是'red'、'green'和'blue'初始值?如果他们错了,你正在做 'gl.glColor4f(red, green, blue, 0f);'画完之后,这或许可以解释为什么你第二次画它就消失了
-
等等,没关系,你给出的 alpha 值是 0,这使得下次绘制时完全透明
-
如何同时使用 OpenGL ES 1.1 和 2.0?