【发布时间】:2014-07-02 03:03:33
【问题描述】:
我正在使用 LWJGL 和 Slick-Util 库来尝试旋转纹理。 这是我用来尝试旋转纹理的代码。
GL11.glBegin(GL11.GL_QUADS);
GL11.glPushMatrix();
GL11.glTranslatef(x, y, 0);
GL11.glRotatef(r, 1, 1, 0);
GL11.glBindTexture(GL11.GL_TEXTURE_2D, texture.getTextureID());
GL11.glTexCoord2f(0, 0);
GL11.glVertex2f(x, y);
GL11.glTexCoord2f(1, 0);
GL11.glVertex2f(x + texture.getTextureWidth(), y);
GL11.glTexCoord2f(1, 1);
GL11.glVertex2f(x + texture.getTextureWidth(), y + texture.getTextureHeight());
GL11.glTexCoord2f(0, 1);
GL11.glVertex2f(x, y + texture.getTextureHeight());
GL11.glPopMatrix();
GL11.glEnd();
它在给定的 x 和 y 位置完美地绘制了纹理,但是当我传入一个度数时,它不会旋转,只是像旋转为零一样绘制。
有谁知道我做错了什么?提前谢谢你。
编辑:
当我以 180 或任何其他程度的“r”运行此代码时。这就是我的屏幕的样子。 红色圆圈图像看起来与常规未旋转图像完全一样。
【问题讨论】:
-
如果先旋转再平移呢?
-
它仍然不起作用:/还有其他想法吗?
-
您的代码在我看来是正确的。你能上传你的输出图片吗?
-
检查我在问题中所做的编辑,我已经上传了我的代码运行的图像。
-
如果您仅沿任何其他单轴的 z 轴旋转会发生什么?你用的是 ortho2D 吗?