OpenGL中对四元数的支持是什么?

时间:2014-11-01 22:41:40

标签: opengl math matrix opengl-es quaternions

考虑到现代OpenGL(3.x,4.x,ES 2和3,WebGL)和现代GLSL,支持四元数与支持矩阵的状态是什么?

我发现越来越多的现代算法和论文,大部分时间都完全绕过矩阵表示,只能说四元数,尤其是关于光照的四元数,但我仍然需要在里面找到任何四元数的痕迹OpenGL或任何OpenGL ARB扩展。

此Khronos标准的四元数的状态是什么?

1 个答案:

答案 0 :(得分:2)

不存在,您可以将它们作为vec4传递到着色器中,但是您必须自己将向量轮换的应用程序实现为向量。

除此之外,你还需要传递vec3翻译和投影参数。

大多数情况下,从quat加翻译pls投影创建等效矩阵并将其传入mat4会更快。很大程度上因为将mat4与向量相乘比在quat中应用相同的旋转更快(并且在硬件中更好地优化),并且如果你做得足够多,mat4会在速度上获胜,甚至可以计算将quat转换为mat4所需的工作量表示。