【发布时间】:2014-12-09 04:55:04
【问题描述】:
如何使用标准 opengl 命令应用 4x4 旋转矩阵?我以前使用过旋转向量,但我找不到如何将旋转矩阵应用于对象?
编辑更多信息:
我正在尝试使用作为物理模拟器一部分的方向矢量来旋转原点中的一个点。有人建议我使用向上向量和叉积来获得矩阵:
{方向、向上、交叉、原点}
但我不知道如何在 openGL 中应用它。为什么会贬值?
生成 2D 而不是 3D 模型的矩阵:
Matrix44f rotation = Matrix44f(
{ crossproduct1[0], crossproduct1[1], crossproduct1[2], 0 },
{ 0, 1, 0, 0 },
{ directionvector[0], directionvector[1], directionvector[2], 0 },
{ 0, 0, 0, 1 });
glMultMatrixf(rotation);
【问题讨论】:
-
CPU 上是否已经生成了旋转矩阵?如果在弃用的 OpenGL 中是这样,您可以使用
glMultMatrixf (...)。该矩阵应以列优先顺序存储为 16 个单精度浮点数的数组。
标签: opengl