|
@@ -0,0 +1,51 @@
|
|
|
+<!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>
|