Java GlRotatef在一个点上旋转对象

Java GlRotatef在一个点上旋转对象,java,opengl,lwjgl,Java,Opengl,Lwjgl,我想做一个像普通门一样打开的门。 我曾想过使用glRotatef,但我不知道如何旋转它,使它看起来像是在摆动 当前门级别: public static void draw(Texture door) { door.bind(); glBegin(GL_QUADS); glColor3f(1f, 1f, 1f);glTexCoord2f(0,0);glVertex3f(-2,3, -15); glColor3f(1f, 1f, 1f);g

我想做一个像普通门一样打开的门。 我曾想过使用glRotatef,但我不知道如何旋转它,使它看起来像是在摆动

当前门级别:

public static void draw(Texture door) {  

    door.bind();

    glBegin(GL_QUADS);  
        glColor3f(1f, 1f, 1f);glTexCoord2f(0,0);glVertex3f(-2,3, -15);
        glColor3f(1f, 1f, 1f);glTexCoord2f(0,1);glVertex3f(-2,-3, -15);
        glColor3f(1f, 1f, 1f);glTexCoord2f(1,1);glVertex3f(2,-3, -15);
        glColor3f(1f, 1f, 1f);glTexCoord2f(1,0);glVertex3f(2,3, -15);
    glEnd();

}
}
  • 定义4个顶点以创建门
  • 绕穿过右侧两个顶点的轴旋转门

  • 您可以计算总共经过的时间,并根据时间使门旋转以使其平稳旋转。

    对一个非常类似问题的回答显示了如何围绕任意点旋转对象:。