Включены ли морфы в gpu three.js? - PullRequest
3 голосов
/ 29 мая 2019

У меня есть тысячи таких фигур:

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?

Является ли цель morph в three.js реализованной за кулисами как вершинный шейдер или если я пытаюсь сделать это для тысяч объектов, я должен создать свой собственный вершинный шейдер?

1 Ответ

3 голосов
/ 29 мая 2019

Я думал об использовании целей морфа, они работают на gpu?

Да, анимация цели морфа - это форма смещения вершины, которая реализована в вершинном шейдере.Большинство встроенных материалов, таких как MeshPhongMaterial, поддерживают его, включая соответствующие блоки шейдеров.Как пользователь, вам просто нужно установить .morphTargets на true, чтобы уведомить средство визуализации о том, что конкретный материал должен использовать морфинговые цели.

three.js R104

...