2013-08-15 2 views
21

Si je comprends bien, les magasins de géométrie d'une structure d'objet javascript des sommets et des visages et BufferGeometry juste stocke les données gl brutes via Float32Arrays, etc.Transforming Géométrie à BufferGeometry

Est-il possible de transformer la norme Géométrie dans BufferGeometry , qui est beaucoup plus compact mémoire avec moins d'objets? Par exemple, si je crée un nouveau SphereGeometry, y a-t-il un moyen de le transformer facilement en BufferGeometry?

Répondre

31

Vous avez de la chance.

var bufferGeometry = new THREE.BufferGeometry().fromGeometry(geometry); 

EDIT: mis à jour Three.js R.76

+0

Je viens essayé d'utiliser cette (flambant neuf, hein), mais les visages ne ports pas trop. J'ai essayé de définir la propriété faces inexistantes sur la géométrie du tampon à celle de l'ancienne géométrie, mais pas de dés. – Axiverse

+1

Fonctionne pour moi. Les faces quad ne sont pas supportées en r.60, seulement tris. Parcourez le code avec le débogueur. Vous pouvez probablement comprendre quel est le problème. – WestLangley

+0

Ah, ouais j'ai vu ça et j'ai fait quelque chose basé sur ce code. Merci! Porté mes sphères à BufferGeometry: http://i.imgur.com/UCB1f61.png – Axiverse