|
@@ -558,9 +558,7 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
|
|
|
|
// Buffer deallocation
|
|
|
|
|
|
- var deallocateGeometry = function ( geometry ) {
|
|
|
-
|
|
|
- geometry.__webglInit = undefined;
|
|
|
+ var deleteBuffers = function ( geometry ) {
|
|
|
|
|
|
if ( geometry.__webglVertexBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglVertexBuffer );
|
|
|
if ( geometry.__webglNormalBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglNormalBuffer );
|
|
@@ -576,8 +574,23 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
|
if ( geometry.__webglLineBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglLineBuffer );
|
|
|
|
|
|
if ( geometry.__webglLineDistanceBuffer !== undefined ) _gl.deleteBuffer( geometry.__webglLineDistanceBuffer );
|
|
|
+ // custom attributes
|
|
|
+
|
|
|
+ if ( geometry.__webglCustomAttributesList !== undefined ) {
|
|
|
+
|
|
|
+ for ( var id in geometry.__webglCustomAttributesList ) {
|
|
|
+
|
|
|
+ _gl.deleteBuffer( geometry.__webglCustomAttributesList[ id ].buffer );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ };
|
|
|
+
|
|
|
+ var deallocateGeometry = function ( geometry ) {
|
|
|
|
|
|
- // geometry groups
|
|
|
+ geometry.__webglInit = undefined;
|
|
|
|
|
|
if ( geometry.geometryGroups !== undefined ) {
|
|
|
|
|
@@ -605,13 +618,13 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
- deleteCustomAttributesBuffers( geometryGroup );
|
|
|
+ deleteBuffers( geometryGroup );
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
- deleteCustomAttributesBuffers( geometry );
|
|
|
+ deleteBuffers( geometry );
|
|
|
|
|
|
};
|
|
|
|
|
@@ -723,22 +736,6 @@ THREE.WebGLRenderer = function ( parameters ) {
|
|
|
|
|
|
};
|
|
|
|
|
|
- //
|
|
|
-
|
|
|
- function deleteCustomAttributesBuffers( geometry ) {
|
|
|
-
|
|
|
- if ( geometry.__webglCustomAttributesList ) {
|
|
|
-
|
|
|
- for ( var id in geometry.__webglCustomAttributesList ) {
|
|
|
-
|
|
|
- _gl.deleteBuffer( geometry.__webglCustomAttributesList[ id ].buffer );
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- };
|
|
|
-
|
|
|
// Buffer initialization
|
|
|
|
|
|
function initCustomAttributes ( geometry, object ) {
|