使用矩阵乘法在opengl中旋转立方体

时间:2014-10-30 13:46:39

标签: c opengl matrix 3d

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

2 个答案:

答案 0 :(得分:0)

您正在使用的OpenGL函数用于立即模式渲染,顶点变换在OpenGL中完成。如果要手动转换OpenGL之外的顶点,则必须实现matrix * vector乘法,或使用为您执行此操作的库。

作为旁注,如果您只对旋转感兴趣,您可能会发现Rodrigues' rotation formula比一般矩阵变换更容易实现。

答案 1 :(得分:0)

我完全同意Drew的回答。但是,我想我会指出一个精心编写的教程系列,它展示了这些概念:

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

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