Parcourir la source

Editor: Support for non-indexed buffer geometries.

Mr.doob il y a 12 ans
Parent
commit
494c3a9983
2 fichiers modifiés avec 21 ajouts et 2 suppressions
  1. 11 1
      editor/js/Sidebar.Geometry.js
  2. 10 1
      editor/js/Viewport.js

+ 11 - 1
editor/js/Sidebar.Geometry.js

@@ -184,7 +184,17 @@ Sidebar.Geometry = function ( editor ) {
 		} else if ( geometry instanceof THREE.BufferGeometry ) {
 
 			geometryVertices.setValue( geometry.attributes.position.numItems / 3 );
-			geometryFaces.setValue( geometry.attributes.index.numItems / 3 );
+
+			if ( geometry.attributes.index !== undefined ) {
+
+				geometryFaces.setValue( geometry.attributes.index.numItems / 3 );
+
+			} else {
+
+				geometryFaces.setValue( geometry.attributes.position.numItems / 3 / 3 );
+
+			}
+
 
 		}
 

+ 10 - 1
editor/js/Viewport.js

@@ -443,7 +443,16 @@ var Viewport = function ( editor ) {
 				} else if ( geometry instanceof THREE.BufferGeometry ) {
 
 					vertices += geometry.attributes.position.numItems / 3;
-					faces += geometry.attributes.index.numItems / 3;
+
+					if ( geometry.attributes.index !== undefined ) {
+
+						faces += geometry.attributes.index.numItems / 3;
+
+					} else {
+
+						faces += vertices / 3;
+
+					}
 
 				}