three.js 中的变形目标是否由 gpu 供电?

Are morph targets in three.js gpu powered?

我有成千上万个这样的形状:

var someShape = new THREE.Shape( somePts );
var extrudedGeometry = new THREE.ExtrudeGeometry(someShape, {depth: 1, bevelEnabled: false});
var extrudedMesh = new THREE.Mesh(extrudedGeometry, new THREE.MeshPhongMaterial({color: getRandomColor(), transparent: true}));

这些形状中的每一个都会变形为具有相同顶点数量的不同形状。我正在考虑使用变形目标,它们在 gpu 上 运行 吗?

three.js 中的变形目标是否在幕后作为顶点着色器实现,或者如果我尝试对数千个对象执行此操作,我应该创建自己的顶点着色器吗?

I was thinking of using morph targets, do they run on the gpu?

是的,变形目标动画是一种在顶点着色器中实现的顶点位移形式。大多数 built-in material 之类的 MeshPhongMaterial 通过包含相应的着色器块来支持它。作为用户,您只需将 .morphTargets 设置为 true 即可通知渲染器特定的 material 应该使用变形目标。

three.js R104