2

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

在 github 上找到了这个线程。有趣的是,它不是一天。到目前为止,这里没有出现相关问题,所以我问。

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

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

4

1 回答 1

2

大多数显卡仅支持 16 个顶点属性。因为 three.js 在 GPU 上计算变形目标,所以它需要分配这 16 个属性,以便位置、法线、蒙皮和顶点颜色等属性也可用。这就是为什么 three.js 有 8 个可用于变形目标的属性的限制——其他 8 个被分配到其他地方。从技术上讲,可以修改 three.js 并对其进行更改——例如,获得多达 15 个变形目标和 1 个位置属性——但这对于 SO 答案来说可能太复杂了。

于 2018-08-20T05:10:13.747 回答