旋转对象OpenGL GLFW

旋转对象OpenGL GLFW,opengl,glfw,Opengl,Glfw,我有一些3D物体。但是我只想用旋转效果旋转其中的一些。我需要旋转物体,而不是相机。我如何使用GLFW实现它?请给我一个例子。首先,如果您使用或不使用GLFW,OpenGL中的旋转工作方式相同。 如果使用不带着色器(固定管道)的OpenGL,则对于仅旋转场景中的对象A,应: glMatrixMode(GL_MODELVIEW); glPushMatrix(); // save the current GL_MODELVIEW matrix glRotatef(angle,

我有一些3D物体。但是我只想用旋转效果旋转其中的一些。我需要旋转物体,而不是相机。我如何使用GLFW实现它?请给我一个例子。

首先,如果您使用或不使用GLFW,OpenGL中的旋转工作方式相同。 如果使用不带着色器(固定管道)的OpenGL,则对于仅旋转场景中的对象A,应:

glMatrixMode(GL_MODELVIEW);
glPushMatrix();             // save the current GL_MODELVIEW matrix 
glRotatef(angle, 0, 1, 0);  // rotate your object
drawObjectAHere();          // draw object A
glPopMatrix();              // restore the GL_MODELVIEW matrix
更多信息请点击此处:

如果使用着色器,则应自行创建旋转矩阵,并将其发送到顶点着色器。 此库可用于创建旋转矩阵:
我希望,本教程对理解如何在着色器中使用此矩阵以及如何旋转对象也很有用:

首先,如果使用或不使用GLFW,OpenGL中的旋转工作方式与此相同。 如果使用不带着色器(固定管道)的OpenGL,则对于仅旋转场景中的对象A,应:

glMatrixMode(GL_MODELVIEW);
glPushMatrix();             // save the current GL_MODELVIEW matrix 
glRotatef(angle, 0, 1, 0);  // rotate your object
drawObjectAHere();          // draw object A
glPopMatrix();              // restore the GL_MODELVIEW matrix
更多信息请点击此处:

如果使用着色器,则应自行创建旋转矩阵,并将其发送到顶点着色器。 此库可用于创建旋转矩阵:
我希望本教程对理解如何在着色器中使用此矩阵以及如何旋转对象也很有用:

如果已绘制对象,如何移动对象并围绕基准轴(X、Y或Z)旋转?绘制对象后,您无法移动或旋转对象。您应该首先设置矩阵,然后绘制它。对于移动和旋转对象,可以组合glRotatef(角度,0.0,1.0,0.0);其次是GLTRANSTEF(0.0,0.0,-5.0);在这里,对象将旋转,然后平移。因此,对象在坐标0.0,0.0,-5.0处自行旋转。如果已绘制对象,如何移动对象并围绕基准轴(X、Y或Z)旋转?绘制对象后,无法移动或旋转对象。您应该首先设置矩阵,然后绘制它。对于移动和旋转对象,可以组合glRotatef(角度,0.0,1.0,0.0);其次是GLTRANSTEF(0.0,0.0,-5.0);在这里,对象将旋转,然后平移。因此,对象在坐标0.0,0.0,-5.0处自转。