<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <base href="../../../" /> <script src="page.js"></script> <link type="text/css" rel="stylesheet" href="page.css" /> </head> <body> <h1>Buffer Attribute Usage Constants</h1> <p> The usage constants can be used to provide a hint to the API regarding how the geometry buffer attribute will be used in order to optimize performance. </p> <h2>Code Example</h2> <code> const geometry = new THREE.BufferGeometry(); const positionAttribute = new THREE.BufferAttribute( array, 3 , false ); positionAttribute.setUsage( THREE.DynamicDrawUsage ); geometry.setAttribute( 'position', positionAttribute ); </code> <h2>Examples</h2> <p>[example:webgl_buffergeometry_drawrange materials / buffergeometry / drawrange ]</p> <h2>Geometry Usage</h2> <code> THREE.StaticDrawUsage THREE.DynamicDrawUsage THREE.StreamDrawUsage THREE.StaticReadUsage THREE.DynamicReadUsage THREE.StreamReadUsage THREE.StaticCopyUsage THREE.DynamicCopyUsage THREE.StreamCopyUsage </code> For more detailed information on each of these constants see [link:https://www.khronos.org/opengl/wiki/Buffer_Object#Buffer_Object_Usage this OpenGL documentation]. <h2>Source</h2> <p> [link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js] </p> </body> </html>