增加网格上最大指定变形目标的数量

时间:2015-04-29 12:22:38

标签: three.js morphing

我有一个包含17个变形目标和变形法线的网格物体。我的魔杖同时分配了至少约10个。 现在我意识到three.js一次只支持8个变形目标,变形法线只有4个。

在github上找到this个帖子。有趣的是,这不是一天之久。到目前为止,没有相关的问题出现在这里,所以我问。

我想知道它是否有可能增加最大数量。也许通过覆盖底层着色器。

为什么这个有限,而不是变形顶点的最大数量,这对性能更有意义。

1 个答案:

答案 0 :(得分:1)

大多数图形卡仅支持16个顶点属性。由于three.js在GPU上计算变形目标,因此它需要分配这16个属性,以便位置,法线,蒙皮和顶点颜色之类的属性也可用。这就是three.js限制8个可用于变形目标的属性的原因-其他8个分配在其他位置。从技术上讲,可以修改three.js并对其进行更改(例如,最多获取15个变形目标和1个位置属性),但这对于SO答案可能太复杂了。