【发布时间】:2018-06-14 11:35:41
【问题描述】:
假设我的几何图形在顶点列表中有不必要的顶点。但是那些不必要的顶点并没有在这个几何体的面列表中被引用。由于未使用的顶点,three.js 会在渲染此几何图形时进行额外的计算,还是会忽略这些顶点?
【问题讨论】:
假设我的几何图形在顶点列表中有不必要的顶点。但是那些不必要的顶点并没有在这个几何体的面列表中被引用。由于未使用的顶点,three.js 会在渲染此几何图形时进行额外的计算,还是会忽略这些顶点?
【问题讨论】:
Three.js 在技术上并不关心顶点列表的内容。它使用该数据创建一个缓冲区,并将其发送到 GPU。面孔列表也是如此。
GPU 将查看面缓冲区以确定用于绘制特定面的顶点。如果顶点列表中有额外的顶点,它们应该被忽略,但它们确实占用额外的内存。
看看BufferGeometry如何构建它的顶点列表(BufferGeometry.attributes.position)和面列表(BufferGeometry.index)。这更接近于 GL 和 GPU 如何使用这些列表,并且应该让您更清楚地了解这些关系是如何工作的。
【讨论】: