2014-10-30 62 views
0

我有一些绘制立方体的代码。我设法使用glRotatef旋转立方体,但我需要能够使用矩阵乘法来旋转立方体。我知道使用什么样的矩阵,但我不知道如何将它们应用到多维数据集的顶点。有没有办法将矢量传递给glVertex3f?或者一种传递顶点数组的方法?使用矩阵乘法在opengl中旋转立方体

+2

你会想使用着色器(一般和这个问题) – 2014-10-30 13:47:56

+0

你可以进入更多的细节?我真的只是开始使用opengl – CountBale 2014-10-30 13:49:21

+0

glRotatef和glBegin,glEnd已被弃用,如果你想找到一个很好的教程寻找openGL版本3.2+ – 2014-10-30 13:51:59

回答

0

我完全同意德鲁的回答。不过,我想我会为你指明一个很好写的教程系列,显示在行动这些概念的方向:

http://en.wikibooks.org/wiki/OpenGL_Programming

开始第3个教程来学习着色器基础知识,然后第4和第5个教程用三角形和立方体潜入旋转中。此外,这些示例还使用FreeGLUT,这是一个框架,可让您轻松使用按键,鼠标移动,鼠标按下等功能与您的代码进行交互。

+0

谢谢,这看起来很有帮助 – CountBale 2014-10-31 13:10:20

0

您使用的OpenGL函数是立即模式渲染,顶点转换是在OpenGL中完成的。如果您想手动转换OpenGL外部的顶点,则必须执行matrix * vector乘法,或者使用一个为您执行此操作的库。作为一个侧面说明,如果你只是对旋转感兴趣,你会发现Rodrigues' rotation formula比一般的矩阵变换更容易实现。