0
我目前的工作在OpenGL ES的渲染的2D游戏在Android的。我的精灵似乎能够正确渲染,但不幸的是,当我不想让它们渲染时,它们会保持在屏幕上。当我在缓冲区中画一个没有任何东西的框架时,我仍然可以看到以前绘制的精灵。的OpenGL ES缓冲区不干净
这是代码。
public void renderFrame()
{
gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
gl.glEnable(GL10.GL_TEXTURE_2D);
gl.glViewport(0, 0, viewPort.getWidth(), viewPort.getHeight());
gl.glMatrixMode(GL10.GL_PROJECTION);
gl.glLoadIdentity();
gl.glOrthof(position.x - frustumWidth * zoom/2,
position.x + frustumWidth * zoom/ 2,
position.y - frustumHeight * zoom/2,
position.y + frustumHeight * zoom/ 2,
1, -1);
gl.glMatrixMode(GL10.GL_MODELVIEW);
gl.glLoadIdentity();
gl.glEnable(GL10.GL_BLEND);
gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
gl.glBindTexture(GL10.GL_TEXTURE_2D, textureId);
/*
* Buffer filling code goes here
*/
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
verticesIntBuffer.position(0);
gl.glVertexPointer(2, GL10.GL_FLOAT, vertexSize, vertices);
gl.glDrawElements(GL10.GL_TRIANGLES, 6, GL10.GL_UNSIGNED_SHORT,
shortBufferIndices);
gl.glDisable(GL10.GL_BLEND);
}
我认为glClear会清理缓存,但这并不像它在这里。
该解决方案并没有为我工作如何明确地干净缓冲区要么Clearing/releasing OpenGL ES buffers
任何想法?由于渲染以前的精灵还会发生什么可能发生的另一个想法?
非常感谢您的耐心等待。