您好我正在制作游戏,其基本引擎是使用GL11在LWJGL中构建的。我正在考虑将其移植到LibGDX,但我在渲染方面遇到了问题。
游戏是2D自上而下使用在Box2d世界中移动的网格(网格是块的地图),在LWJGL中我可以简单地将矩阵转换为网格的位置,旋转,然后绘制所有块通过简单地在偏移位置冲孔(避免使用重触发)。我一直在使用LibGDX,但我找不到替换glTranslatef或glRotate的方法。
我只想知道(或指向)替换函数或类,我可以用它来渲染纹理方块。像ShapeRenderer,但允许纹理(它有翻译/旋转)。
任何帮助都将不胜感激。
答案 0 :(得分:0)
我认为您正在使用OpenGL1.1 - > OpenGL ES 2.0兼容性问题,不仅仅是LWJGL / LibGDX兼容性问题。在OpenGL ES 2.0中不推荐使用矩阵堆栈,因此glRotate
,glTranslate
等都不是2.0之后的OpenGL ES的一部分。有关详细信息,请参阅http://en.wikibooks.org/wiki/OpenGL_Programming/Migrating_from_1.x_to_2.x。
无论如何,我认为至少有两种方法可以解决这个问题。
使用Libgdx Matrix classes进行矩阵操作。
如果您的目标是渲染纹理矩形,请查看Libgdx SpriteBatch
。您希望其中一个draw
变体需要您想要使用的缩放/旋转参数。有关如何设置的概述,请参阅SpriteBatch wiki。