Sfoglia il codice sorgente

Docs: Use BufferGeometry in PointsMaterial code example.

Mugen87 5 anni fa
parent
commit
913d02dde2

+ 11 - 10
docs/api/en/materials/PointsMaterial.html

@@ -32,25 +32,26 @@
 		</p>
 
 		<code>
-//This will add a starfield to the background of a scene
-var starsGeometry = new THREE.Geometry();
+var vertices = [];
 
 for ( var i = 0; i < 10000; i ++ ) {
 
-	var star = new THREE.Vector3();
-	star.x = THREE.MathUtils.randFloatSpread( 2000 );
-	star.y = THREE.MathUtils.randFloatSpread( 2000 );
-	star.z = THREE.MathUtils.randFloatSpread( 2000 );
+	var x = THREE.MathUtils.randFloatSpread( 2000 );
+	var y = THREE.MathUtils.randFloatSpread( 2000 );
+	var z = THREE.MathUtils.randFloatSpread( 2000 );
 
-	starsGeometry.vertices.push( star );
+	vertices.push( x, y, z );
 
 }
 
-var starsMaterial = new THREE.PointsMaterial( { color: 0x888888 } );
+var geometry = new THREE.BufferGeometry();
+geometry.setAttribute( 'position', new THREE.Float32BufferAttribute( vertices, 3 ) );
 
-var starField = new THREE.Points( starsGeometry, starsMaterial );
+var material = new THREE.PointsMaterial( { color: 0x888888 } );
 
-scene.add( starField );
+var points = new THREE.Points( geometry, material );
+
+scene.add( points );
 		</code>
 
 		<h3>[name]( [param:Object parameters] )</h3>

+ 11 - 10
docs/api/zh/materials/PointsMaterial.html

@@ -34,25 +34,26 @@
 		</p>
 
 		<code>
-//This will add a starfield to the background of a scene
-var starsGeometry = new THREE.Geometry();
+var vertices = [];
 
 for ( var i = 0; i < 10000; i ++ ) {
 
-	var star = new THREE.Vector3();
-	star.x = THREE.MathUtils.randFloatSpread( 2000 );
-	star.y = THREE.MathUtils.randFloatSpread( 2000 );
-	star.z = THREE.MathUtils.randFloatSpread( 2000 );
+	var x = THREE.MathUtils.randFloatSpread( 2000 );
+	var y = THREE.MathUtils.randFloatSpread( 2000 );
+	var z = THREE.MathUtils.randFloatSpread( 2000 );
 
-	starsGeometry.vertices.push( star );
+	vertices.push( x, y, z );
 
 }
 
-var starsMaterial = new THREE.PointsMaterial( { color: 0x888888 } );
+var geometry = new THREE.BufferGeometry();
+geometry.setAttribute( 'position', new THREE.Float32BufferAttribute( vertices, 3 ) );
 
-var starField = new THREE.Points( starsGeometry, starsMaterial );
+var material = new THREE.PointsMaterial( { color: 0x888888 } );
 
-scene.add( starField );
+var points = new THREE.Points( geometry, material );
+
+scene.add( points );
 		</code>
 
 		<h3>[name]( [param:Object parameters] )</h3>