当你有坐标时,有人能告诉我如何在lwjgl中用var度旋转纹理吗? 和原产地? 嗯,现在看起来像这样: x / y是纹理的中心。
public void render(float x, float y) {
glPushMatrix();
texture.bind();
glTranslatef(x - xOrigin, y - yOrigin, 0);
//This is false. ignore it
//glRotatef(45f, 0f, 0f, 1f);
glBegin(GL_QUADS);
{
glTexCoord2f(0, 0);
glVertex2f(0, 0);
glTexCoord2f(0, width);
glVertex2f(0, height);
glTexCoord2f(texture.getWidth(), texture.getHeight());
glVertex2f(width, height);
glTexCoord2f(texture.getWidth(), 0);
glVertex2f(width, 0);
}
glEnd();
glPopMatrix();
}
由于
答案 0 :(得分:0)
如果你想旋转纹理,你只需要改变UV坐标,从而重新排列glTexCoord2f(U, V)
虽然只是重新排列它们只会旋转它们大约90度/ 1.57rad每重新排列,但如果你想要更小的旋转对于纹理,你可以使用三角函数cos和sin函数自己计算U,V坐标。