O THREE.js adiciona pontos dinamicamente a uma geometria de Pontos não processa

Estou usando o Three.js r83.

Estou tentando adicionar pontos dinamicamente a uma geometria, mas a cena nunca é atualizada.

Isso funciona :

var tmaterial = new THREE.PointsMaterial({
    color: 0xff0000,
    size: 5,
    opacity: 1
});

var tgeometry = new THREE.Geometry();
var pointCloud = new THREE.Points(tgeometry, tmaterial);

for(var i = 0; i< 1000; i++) {
    x = (Math.random() * 200) - 100;
    y = (Math.random() * 200) - 100;
    z = (Math.random() * 200) - 100;
    tgeometry.vertices.push(new THREE.Vector3(x, y, z));
}
tgeometry.verticesNeedUpdate = true;
tgeometry.computeVertexNormals();

scene.add(pointCloud);

Isso não funciona:

var tmaterial = new THREE.PointsMaterial({
    color: 0xff0000,
    size: 5,
    opacity: 1
});

var tgeometry = new THREE.Geometry();
var pointCloud = new THREE.Points(tgeometry, tmaterial);
scene.add(pointCloud);

for(var i = 0; i< 1000; i++) {
    x = (Math.random() * 200) - 100;
    y = (Math.random() * 200) - 100;
    z = (Math.random() * 200) - 100;
    tgeometry.vertices.push(new THREE.Vector3(x, y, z));
}
tgeometry.verticesNeedUpdate = true;
tgeometry.elementsNeedUpdate = true;
tgeometry.computeVertexNormals();
renderer.render(scene, camera);

Como você pode ver, a única diferença é o fato de eu adicionarscene.add(pointCloud); antes de adicionar vértices.

Do que sinto falta?

Você pode encontrar umviolino Graças a @hectate

Para ver o que eu quero dizer, basta substituir

init(); setPoints(); animate();

por

init(); animate(); setPoints();

questionAnswers(2)

yourAnswerToTheQuestion