【发布时间】:2017-12-21 02:20:10
【问题描述】:
我正在尝试使用 GLSL 制作骨骼动画。对于每个骨骼,我有一个平移(x,y,z)和一个旋转(俯仰,滚动,偏航)(以度为单位)。我可以为每个骨骼构造一个 4x4 矩阵,但这会占用着色器中的大量寄存器空间,所以我只想存储每个骨骼的 6 个值,但我不知道该怎么做。
【问题讨论】:
-
你不知道怎么办?您可以将值作为 6 个浮点数或 2 个 vec3s 传递。你的意思是你不知道如何使用这些值计算所有操作的组合矩阵?另外,您确定寄存器中的单个 4x4 矩阵真的是空间问题吗?我想为每个顶点或像素计算 4x4 矩阵将是处理器密集型的。这是您想要做出的权衡吗?
-
它不是单个 4x4 矩阵,而是每个骨骼的 4x4 矩阵。我不知道如何使用我拥有的旋转 vec3 旋转一个点。