Browse Source

DirectGeometry: Removed indices.

Mr.doob 10 năm trước cách đây
mục cha
commit
ed0b2eafe8
4 tập tin đã thay đổi với 14 bổ sung40 xóa
  1. 13 8
      src/core/BufferGeometry.js
  2. 1 20
      src/core/DirectGeometry.js
  3. 0 11
      src/core/Index.js
  4. 0 1
      utils/build/includes/common.json

+ 13 - 8
src/core/BufferGeometry.js

@@ -228,15 +228,23 @@ THREE.BufferGeometry.prototype = {
 
 	updateFromObject: function ( object ) {
 
-		var geometry;
+		var geometry = object.geometry;
 
-		if ( object instanceof THREE.PointCloud || object instanceof THREE.Line ) {
+		if ( object instanceof THREE.Mesh ) {
 
-			geometry = object.geometry;
+			var direct = geometry.__directGeometry;
 
-		} else if ( object instanceof THREE.Mesh ) {
+			direct.verticesNeedUpdate = geometry.verticesNeedUpdate;
+			direct.normalsNeedUpdate = geometry.normalsNeedUpdate;
+			direct.colorsNeedUpdate = geometry.colorsNeedUpdate;
+			direct.uvsNeedUpdate = geometry.uvsNeedUpdate;
+
+			geometry.verticesNeedUpdate = false;
+			geometry.normalsNeedUpdate = false;
+			geometry.colorsNeedUpdate = false;
+			geometry.uvsNeedUpdate = false;
 
-			geometry = object.geometry.__directGeometry.updateFromGeometry( object.geometry );
+			geometry = direct;
 
 		}
 
@@ -299,9 +307,6 @@ THREE.BufferGeometry.prototype = {
 
 	fromDirectGeometry: function ( geometry ) {
 
-		var indices = new Uint16Array( geometry.indices.length * 3 );
-		this.addAttribute( 'index', new THREE.BufferAttribute( indices, 1 ).copyIndicesArray( geometry.indices ) );
-
 		if ( geometry.vertices.length > 0 ) {
 
 			var positions = new Float32Array( geometry.vertices.length * 3 );

+ 1 - 20
src/core/DirectGeometry.js

@@ -11,7 +11,6 @@ THREE.DirectGeometry = function () {
 	this.name = '';
 	this.type = 'DirectGeometry';
 
-	this.indices = [];
 	this.vertices = [];
 	this.colors = [];
 	this.normals = [];
@@ -66,9 +65,7 @@ THREE.DirectGeometry.prototype = {
 		var hasFaceVertexUv = faceVertexUvs[ 0 ] && faceVertexUvs[ 0 ].length > 0;
 		var hasFaceVertexUv2 = faceVertexUvs[ 1 ] && faceVertexUvs[ 1 ].length > 0;
 
-		for ( var i = 0, i3 = 0; i < faces.length; i ++, i3 += 3 ) {
-
-			this.indices.push( new THREE.Index( i3, i3 + 1, i3 + 2 ) );
+		for ( var i = 0; i < faces.length; i ++ ) {
 
 			var face = faces[ i ];
 
@@ -160,22 +157,6 @@ THREE.DirectGeometry.prototype = {
 
 	},
 
-	updateFromGeometry: function ( geometry, material ) {
-
-		this.verticesNeedUpdate = geometry.verticesNeedUpdate;
-		this.normalsNeedUpdate = geometry.normalsNeedUpdate;
-		this.colorsNeedUpdate = geometry.colorsNeedUpdate;
-		this.uvsNeedUpdate = geometry.uvsNeedUpdate;
-
-		geometry.verticesNeedUpdate = false;
-		geometry.normalsNeedUpdate = false;
-		geometry.colorsNeedUpdate = false;
-		geometry.uvsNeedUpdate = false;
-
-		return this;
-
-	},
-
 	dispose: function () {
 
 		this.dispatchEvent( { type: 'dispose' } );

+ 0 - 11
src/core/Index.js

@@ -1,11 +0,0 @@
-/**
- * @author mrdoob / http://mrdoob.com/
- */
-
-THREE.Index = function ( a, b, c ) {
-
-	this.a = a;
-	this.b = b;
-	this.c = c;
-
-};

+ 0 - 1
utils/build/includes/common.json

@@ -20,7 +20,6 @@
 	"src/math/Triangle.js",
 	"src/core/Clock.js",
 	"src/core/EventDispatcher.js",
-	"src/core/Index.js",
 	"src/core/Raycaster.js",
 	"src/core/Object3D.js",
 	"src/core/Face3.js",