2013-08-15 22 views
21

Jak rozumiem, geometria sklepów javascript struktury obiektu z wierzchołków i twarze i BufferGeometry tylko przechowuje nieprzetworzone gl danych przez Float32Arrays itdTransforming Geometria do BufferGeometry

Czy jest jakiś sposób, aby włączyć do standardowej geometrii BufferGeometry , który jest o wiele więcej pamięci zwarty z mniejszą ilością obiektów? Na przykład, jeśli tworzę nowy SphereGeometry, czy istnieje sposób łatwego przekształcenia go w BufferGeometry?

Odpowiedz

31

Masz szczęście.

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

EDIT: zaktualizowana Three.js r.76

+0

Właśnie próbował za pomocą tego (Brand spanking nowy, prawda), ale twarze nie portu nad. Próbowałem ustawić właściwość nieistniejącą twarze w geometrii buforu na tę w starej geometrii, ale nie kości. – Axiverse

+1

Działa dla mnie. Czwórki nie są obsługiwane w r.60, tylko tris. Przejdź przez kod za pomocą debuggera. Prawdopodobnie możesz dowiedzieć się, jaki jest problem. – WestLangley

+0

Ach, tak, widziałem to i zrobiłem coś na podstawie tego kodu. Dzięki! Przeniesiono moje kule do BufferGeometry: http://i.imgur.com/UCB1f61.png – Axiverse