{
const {scene, camera, renderer} = setup()
const vertices = [
-1, 1, 1,
-1, -1, 1,
1, -1, 1,
1, 1, 1,
1, -1, -1,
1, 1, -1,
-1, -1, -1,
-1, 1, -1,
0, 1, 0,
0, -1, 0,
]
const faces = [
0, 1, 2,
0, 2, 3,
3, 2, 4,
3, 4, 5,
5, 4, 6,
5, 6, 7,
7, 6, 1,
7, 1, 0,
8, 0, 3,
8, 3, 5,
8, 5, 7,
8, 7, 0,
9, 2, 1,
9, 4, 2,
9, 6, 4,
9, 1, 6,
]
const geometry = new THREE.PolyhedronGeometry(vertices, faces, 30, 0);
const material = new THREE.MeshNormalMaterial()
const mesh = new THREE.Mesh(geometry, material)
scene.add(mesh)
mesh.scale.set(0.5, 1, 0.5)
while (true) {
mesh.rotation.y += 0.01;
geometry.verticesNeedUpdate = true;
geometry.vertices.forEach(v => {
v.x += Math.random() - 0.5;
v.y += Math.random() - 0.5;
v.z += Math.random() - 0.5;
})
renderer.render(scene, camera);
yield renderer.domElement;
}
}