将LWJGL移植到LibGDX glTranslate替换

时间:2014-05-07 00:28:51

标签: eclipse libgdx textures lwjgl translate

您好我正在制作游戏,其基本引擎是使用GL11在LWJGL中构建的。我正在考虑将其移植到LibGDX,但我在渲染方面遇到了问题。

游戏是2D自上而下使用在Box2d世界中移动的网格(网格是块的地图),在LWJGL中我可以简单地将矩阵转换为网格的位置,旋转,然后绘制所有块通过简单地在偏移位置冲孔(避免使用重触发)。我一直在使用LibGDX,但我找不到替换glTranslatef或glRotate的方法。

我只想知道(或指向)替换函数或类,我可以用它来渲染纹理方块。像ShapeRenderer,但允许纹理(它有翻译/旋转)。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

我认为您正在使用OpenGL1.1 - > OpenGL ES 2.0兼容性问题,不仅仅是LWJGL / LibGDX兼容性问题。在OpenGL ES 2.0中不推荐使用矩阵堆栈,因此glRotateglTranslate等都不是2.0之后的OpenGL ES的一部分。有关详细信息,请参阅http://en.wikibooks.org/wiki/OpenGL_Programming/Migrating_from_1.x_to_2.x

无论如何,我认为至少有两种方法可以解决这个问题。

  1. 使用Libgdx Matrix classes进行矩阵操作。

  2. 如果您的目标是渲染纹理矩形,请查看Libgdx SpriteBatch。您希望其中一个draw变体需要您想要使用的缩放/旋转参数。有关如何设置的概述,请参阅SpriteBatch wiki