2016-04-18 4 views
0

Ich weiß, es gibt Möglichkeiten, um Kanten zu zeichnen, aber warum hat THREE.Geometry nur ein Array für Scheitelpunkte und einen für Gesichter?Three.js (r75) - Warum THREE.Geometry hat kein Array zum Speichern von Kanten?

Ich schaute auf this example und ich fand es nützlich, eine Reihe von Kanten zu haben, auf diese Weise ist der Zugriff auf sie viel einfacher.

+0

, die überflüssig wäre, drei Kanten nicht intern verwenden und Kanten sind nicht sehr häufig verwendet, mit dem Argument, dass es in einigen Beispiel wäre bequemer ist nicht richtig, wie Sie Speicher verschwenden würde und Prozessorzeit in der Mehrheit der anderen Instanzen, argumentieren, dass es Gesichter hat, ist auch schlecht, wie sie intern in der Kernfunktionalität verwendet werden –

+0

@DerteTrdelnik - Ich habe mir das vorgestellt. Der Grund, warum ein BMesh (Blender Mesh) Scheitelpunkte, Flächen, Kanten und Schleifen bearbeitet, liegt daran, dass es als Desktop-App ausgeführt wird, sodass es mehr Ressourcen zum Spielen bietet. – leota

+0

BMesh unterstützt Polygonflächen mit N Seiten, während THREE nur Dreiecke verwendet, auch Blender nutzt die Kanten, da sie im Editor selbst interaktiv sind, THREE ist kein Editor, es ist ein Werkzeug für den leichteren Zugriff auf webgl, Sie können Ihre erstellen eigene Geometrie-Klasse innerhalb von DREI, die Kanten hat, die aktualisiert werden oder ihre Scheitelpunkte referenzieren, aber das ist viel zu spezifisch, und spezielle Anwendungsfälle sollten nicht im Kern einer Bibliothek sein –

Antwort

0

Die Geometriedatenstruktur enthält keine Kanten, da Kanten im Allgemeinen nicht zum Rendern benötigt werden.

three.js hat Dienstprogramme, die Ihnen jedoch helfen können.

Wenn Sie den Quellcode für EdgesGeometry betrachten, können Sie sehen, wie Sie die Kanten erstellen und darauf zugreifen. Das gleiche gilt für WireframeGeometry.

three.js r.84

Verwandte Themen