我正在使用libgdx爲Android編寫遊戲。下面是一些繪製質感的圓環代碼:爲什麼libgdx SpriteBatch/BitmapFont會破壞Texture.bind?
Gdx.gl10.glPushMatrix();
Gdx.gl10.glTranslatef(center.x, center.y, 0);
Gdx.gl10.glRotatef(0, 0, 1, angle * 360f/(2f * (float)Math.PI));
texture.bind();
mesh.render(GL10.GL_TRIANGLE_STRIP);
Gdx.gl10.glPopMatrix();
...這裏是一些繪製一些文字代碼:
spriteBatch.begin();
spriteBatch.setColor(1, 1, 1, 1);
float fps = 1f/Gdx.graphics.getDeltaTime();
font.draw(spriteBatch, "fps: " + fps, 0, 50);
spriteBatch.end();
代碼的第一位的工作,一幀一幀後,直到第二位代碼運行。之後,第一個位的三角形條僅使用最新的glMaterial進行渲染。任何想法爲什麼發生這種情況?
更新:已解決!原來SpriteBatch.end()調用glDisable(GL_TEXTURE_2D)。只需要讀取源代碼...
我有完全相同的問題。但不知爲什麼,你的問題沒有得到回答。你的解決方案是什麼?你在渲染文本之前是否放棄了其他紋理,或者你做了什麼? – nerdinand