javascript - Is there any way to delete a buffer in threejs to reduce GPU memory leak? -


i have big mesh more 5 million triangles. have used buffergeometry position, color, normaland index attribute. @ point, have remove indices index attribute.

now, have seen that, there no way remove elements current index buffer. have create new bufferattribute , set index buffer of geometry. haven't found way delete previousindex buffer has been uploaded gpu already. creating gpu memory leak me. don't want dispose previous geometry , create new one.

my question - there way delete previous index buffer without disposing buffergeometry.

you can dispose of buffer doing:

buffergeometry.dispose() 

this remove object gpu

edit:

so if read ongeometrydispose can come answer, delete attribute calling suspect private js function still have access it

code example:

if ( buffergeometry.index !== null ) {     deleteattribute( buffergeometry.index );  } 

source answer: https://github.com/mrdoob/three.js/blob/dev/src/renderers/webgl/webglgeometries.js#l52-l56

final resolution:

make sure set update flags.

http://github.com/mrdoob/three.js/wiki/updates


Comments