0
OpenGL ES안드로이드에서 렌더링 된 2D 게임에서 현재 작업하고 있습니다. 내 스프라이트는 올바르게 렌더링되는 것처럼 보이지만 슬프게도 렌더러를 원하지 않으면 화면에 계속 표시됩니다. 버퍼에 아무것도없는 프레임을 그리면 이전에 그려진 스프라이트를 볼 수 있습니다.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
어떤 아이디어를 작동하지 않았다? 이전 스프라이트를 렌더링하여 발생하는 상황에 대한 또 다른 아이디어가 있습니까?
양해 해 주셔서 감사합니다.