旋转对象OpenGL GLFW

时间:2016-04-17 04:04:39

标签: opengl glfw

我有一些3D物体。但我想只旋转其中一些旋转效果。我需要旋转物体,而不是相机。我怎么能用GLFW呢?请举个例子。

1 个答案:

答案 0 :(得分:2)

首先,如果您使用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

更多信息: How to rotate a specific object in openGL?

如果使用着色器,则应自行创建旋转矩阵,并将其发送到顶点着色器。 此库可用于创建旋转矩阵:http://glm.g-truc.net/0.9.7/index.html 我希望,本教程也很有用,可以了解如何在着色器中使用此矩阵来旋转对象:http://www.geeks3d.com/20111115/how-to-compute-the-position-in-a-vertex-shader-glsl-opengl-part-3/