java – 为什么libgdx SpriteBatch / BitmapFont会破坏Texture.b
发布时间:2020-12-15 08:43:24 所属栏目:Java 来源:网络整理
导读:我正在使用libgdx为 Android编写游戏.这是一些绘制纹理环面的代码: Gdx.gl10.glPushMatrix();Gdx.gl10.glTranslatef(center.x,center.y,0);Gdx.gl10.glRotatef(0,1,angle * 360f / (2f * (float)Math.PI));texture.bind();mesh.render(GL10.GL_TRIANGLE_STR
我正在使用libgdx为
Android编写游戏.这是一些绘制纹理环面的代码:
Gdx.gl10.glPushMatrix(); Gdx.gl10.glTranslatef(center.x,center.y,0); Gdx.gl10.glRotatef(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); float fps = 1f / Gdx.graphics.getDeltaTime(); font.draw(spriteBatch,"fps: " + fps,50); spriteBatch.end(); 第一位代码一帧一帧地工作,直到第二位代码运行.之后,第一位的三角形条带仅使用最新的glMaterial渲染.知道为什么会这样吗? 更新:解决了!事实证明SpriteBatch.end()调用glDisable(GL_TEXTURE_2D).只是阅读源… 解决方法
它实际上也是在Javadocs中也是如此.经验法则:连接到OpenGL ES的所有libgdx类都将更改最小状态量,并且很可能不会重置事物,因为查询状态的GL代价很高.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |