2
我试图旋转我的场景,我使用 LWJGL用Java创建两个只有一个对象一个对象。
现在,当我尝试旋转一个对象时,它不会围绕它的中心旋转,而是绕着大圆圈旋转。在谷歌搜索后,我现在知道,它应该像这样工作:LWJGL仅旋转
glPushMatrix();
glBegin();
//Code in here
glEnd();
glRotate();
glPopMatrix();
但它不是为我工作。该对象不旋转。这是我的渲染代码:
public void render() {
glPushMatrix();
glRotatef(rotate, 0, 1.0f, 0);
glBegin(GL_QUADS);
// Top
glVertex3f(-centerX + size, centerY + size, -centerZ - size);
glVertex3f(-centerX - size, centerY + size, -centerZ - size);
glVertex3f(-centerX - size, centerY + size, -centerZ + size);
glVertex3f(-centerX + size, centerY + size, -centerZ + size);
// Bottom
glVertex3f(-centerX + size, centerY - size, -centerZ + size);
glVertex3f(-centerX - size, centerY - size, -centerZ + size);
glVertex3f(-centerX - size, centerY - size, -centerZ - size);
glVertex3f(-centerX + size, centerY - size, -centerZ - size);
// One side
glVertex3f(-centerX + size, centerY + size, -centerZ + size);
glVertex3f(-centerX - size, centerY + size, -centerZ + size);
glVertex3f(-centerX - size, centerY - size, -centerZ + size);
glVertex3f(-centerX + size, centerY - size, -centerZ + size);
// Moar sides
glVertex3f(-centerX + size, centerY - size, -centerZ - size);
glVertex3f(-centerX - size, centerY - size, -centerZ - size);
glVertex3f(-centerX - size, centerY + size, -centerZ - size);
glVertex3f(-centerX + size, centerY + size, -centerZ - size);
// Last side
glVertex3f(-centerX - size, centerY + size, -centerZ + size);
glVertex3f(-centerX - size, centerY + size, -centerZ - size);
glVertex3f(-centerX - size, centerY - size, -centerZ - size);
glVertex3f(-centerX - size, centerY - size, -centerZ + size);
// Real last side
glVertex3f(-centerX + size, centerY + size, -centerZ - size);
glVertex3f(-centerX + size, centerY + size, -centerZ + size);
glVertex3f(-centerX + size, centerY - size, -centerZ + size);
glVertex3f(-centerX + size, centerY - size, -centerZ - size);
glEnd();
glPopMatrix();
rotate++;
}
我现在试图解决这个问题几个小时,但无法让它工作。
那不行,我试过了。当我这样做时,立方体不会围绕自己的轴旋转。 – DealerJoe 2013-03-21 23:22:38
编辑答案。先旋转,然后翻译。 – Zutty 2013-03-21 23:40:25
但即使我只是旋转和不翻译,它什么都不做。 – DealerJoe 2013-03-22 11:49:13