提交 dfffeef1 编写于 作者: M Mr.doob

Updated src and examples to latest BufferGeometry API.

上级 9e83e65a
......@@ -82,10 +82,10 @@
var geometry = new THREE.BufferGeometry();
geometry.addAttribute( 'index', Uint16Array, triangles * 3, 1 );
geometry.addAttribute( 'position', Float32Array, triangles * 3, 3 );
geometry.addAttribute( 'normal', Float32Array, triangles * 3, 3 );
geometry.addAttribute( 'color', Float32Array, triangles * 3, 3 );
geometry.addAttribute( 'index', new Uint16Array( triangles * 3 ), 1 );
geometry.addAttribute( 'position', new Float32Array( triangles * 3 * 3 ), 3 );
geometry.addAttribute( 'normal', new Float32Array( triangles * 3 * 3 ), 3 );
geometry.addAttribute( 'color', new Float32Array( triangles * 3 * 3 ), 3 );
// break geometry into
// chunks of 21,845 triangles (3 unique vertices per triangle)
......@@ -94,7 +94,7 @@
var chunkSize = 21845;
var indices = geometry.attributes.index.array;
var indices = geometry.getAttribute( 'index' ).array;
for ( var i = 0; i < indices.length; i ++ ) {
......@@ -102,9 +102,9 @@
}
var positions = geometry.attributes.position.array;
var normals = geometry.attributes.normal.array;
var colors = geometry.attributes.color.array;
var positions = geometry.getAttribute( 'position' ).array;
var normals = geometry.getAttribute( 'normal' ).array;
var colors = geometry.getAttribute( 'color' ).array;
var color = new THREE.Color();
......
......@@ -89,7 +89,7 @@
var noise = [];
var values_size;
//500000
var particles = 100000;
var WIDTH = window.innerWidth;
......@@ -137,14 +137,13 @@
geometry = new THREE.BufferGeometry();
geometry.addAttribute( 'position', Float32Array, particles, 3 );
geometry.addAttribute( 'customColor', Float32Array, particles, 3 );
geometry.addAttribute( 'size', Float32Array, particles, 1 );
geometry.attributes.size.dynamic = true;
geometry.addAttribute( 'position', new Float32Array( particles * 3 ), 3 );
geometry.addAttribute( 'customColor', new Float32Array( particles * 3 ), 3 );
geometry.addAttribute( 'size', new Float32Array( particles ), 1 );
values_size = geometry.attributes.size.array;
var positions = geometry.attributes.position.array;
var values_color = geometry.attributes.customColor.array;
var positions = geometry.getAttribute( 'position' ).array;
var values_color = geometry.getAttribute( 'customColor' ).array;
values_size = geometry.getAttribute( 'size' ).array;
sphere = new THREE.ParticleSystem( geometry, shaderMaterial );
......
......@@ -69,11 +69,11 @@
var geometry = new THREE.BufferGeometry();
var material = new THREE.LineBasicMaterial({ vertexColors: true });
geometry.addAttribute( 'position', Float32Array, segments, 3 );
geometry.addAttribute( 'color', Float32Array, segments, 3 );
geometry.addAttribute( 'position', new Float32Array( segments * 3 ), 3 );
geometry.addAttribute( 'color', new Float32Array( segments * 3 ), 3 );
var positions = geometry.attributes.position.array;
var colors = geometry.attributes.color.array;
var positions = geometry.getAttribute( 'position' ).array;
var colors = geometry.getAttribute( 'color' ).array;
var r = 800;
......
......@@ -181,19 +181,12 @@
);
// --------------------------------
geometry.addAttribute( 'position', Float32Array, positions.length, 3 );
geometry.attributes.position.array = new Float32Array(positions);
geometry.addAttribute( 'color', Float32Array, colors.length, 3 );
geometry.attributes.color.array = new Float32Array(colors);
geometry.addAttribute( 'index', Uint16Array, indices_array.length, 1 );
geometry.attributes.index.array = new Uint16Array(indices_array);
geometry.offsets = [ {start:0, index:0, count:indices_array.length} ];
geometry.addAttribute( 'index', new Uint16Array( indices_array ), 1 );
geometry.addAttribute( 'position', new Float32Array( positions ), 3 );
geometry.addAttribute( 'color', new Float32Array( colors ), 3 );
geometry.computeBoundingSphere();
mesh = new THREE.Line( geometry, material, THREE.LinePieces);
mesh = new THREE.Line( geometry, material, THREE.LinePieces );
mesh.position.x -= 1200;
mesh.position.y -= 1200;
......
......@@ -69,11 +69,11 @@
var geometry = new THREE.BufferGeometry();
geometry.addAttribute( 'position', Float32Array, particles, 3 );
geometry.addAttribute( 'color', Float32Array, particles, 3 );
geometry.addAttribute( 'position', new Float32Array( particles * 3 ), 3 );
geometry.addAttribute( 'color', new Float32Array( particles * 3 ), 3 );
var positions = geometry.attributes.position.array;
var colors = geometry.attributes.color.array;
var positions = geometry.getAttribute( 'position' ).array;
var colors = geometry.getAttribute( 'color' ).array;
var color = new THREE.Color();
......
......@@ -82,13 +82,12 @@
var geometry = new THREE.BufferGeometry();
geometry.addAttribute( 'index', Uint32Array, triangles * 3, 1 );
geometry.addAttribute( 'position', Float32Array, triangles * 3, 3 );
geometry.addAttribute( 'normal', Float32Array, triangles * 3, 3 );
geometry.addAttribute( 'color', Float32Array, triangles * 3, 3 );
geometry.addAttribute( 'index', new Uint32Array( triangles * 3 ), 1 );
geometry.addAttribute( 'position', new Float32Array( triangles * 3 * 3 ), 3 );
geometry.addAttribute( 'normal', new Float32Array( triangles * 3 * 3 ), 3 );
geometry.addAttribute( 'color', new Float32Array( triangles * 3 * 3 ), 3 );
var indices = geometry.attributes.index.array;
var indices = geometry.getAttribute( 'index' ).array;
for ( var i = 0; i < indices.length; i ++ ) {
......@@ -96,9 +95,9 @@
}
var positions = geometry.attributes.position.array;
var normals = geometry.attributes.normal.array;
var colors = geometry.attributes.color.array;
var positions = geometry.getAttribute( 'position' ).array;
var normals = geometry.getAttribute( 'normal' ).array;
var colors = geometry.getAttribute( 'color' ).array;
var color = new THREE.Color();
......
......@@ -84,13 +84,13 @@
var geometry = new THREE.BufferGeometry();
geometry.addAttribute( 'position', Float32Array, triangles * 3, 3 );
geometry.addAttribute( 'normal', Float32Array, triangles * 3, 3 );
geometry.addAttribute( 'color', Float32Array, triangles * 3, 3 );
geometry.addAttribute( 'position', new Float32Array( triangles * 3 * 3 ), 3 );
geometry.addAttribute( 'normal', new Float32Array( triangles * 3 * 3 ), 3 );
geometry.addAttribute( 'color', new Float32Array( triangles * 3 * 3 ), 3 );
var positions = geometry.attributes.position.array;
var normals = geometry.attributes.normal.array;
var colors = geometry.attributes.color.array;
var positions = geometry.getAttribute( 'position' ).array;
var normals = geometry.getAttribute( 'normal' ).array;
var colors = geometry.getAttribute( 'color' ).array;
var color = new THREE.Color();
......
......@@ -6,9 +6,13 @@ THREE.Geometry2 = function ( size ) {
THREE.BufferGeometry.call( this );
this.vertices = this.addAttribute( 'position', Float32Array, size, 3 ).array;
this.normals = this.addAttribute( 'normal', Float32Array, size, 3 ).array;
this.uvs = this.addAttribute( 'uv', Float32Array, size, 2 ).array;
this.addAttribute( 'position', new Float32Array( size * 3 ), 3 );
this.addAttribute( 'normal', new Float32Array( size * 3 ), 3 );
this.addAttribute( 'uv', new Float32Array( size * 2 ), 2 );
this.vertices = this.getAttribute( 'position' ).array;
this.normals = this.getAttribute( 'normal' ).array;
this.uvs = this.getAttribute( 'uv' ).array;
this.boundingBox = null;
this.boundingSphere = null;
......
......@@ -48,7 +48,7 @@ THREE.EdgesHelper = function ( object, hex ) {
}
geometry.addAttribute( 'position', Float32Array, 2 * numEdges, 3 );
geometry.addAttribute( 'position', new Float32Array( numEdges * 2 * 3 ), 3 );
var coords = geometry.attributes.position.array;
......
......@@ -46,7 +46,7 @@ THREE.WireframeHelper = function ( object, hex ) {
}
geometry.addAttribute( 'position', Float32Array, 2 * numEdges, 3 );
geometry.addAttribute( 'position', new Float32Array( numEdges * 2 * 3 ), 3 );
var coords = geometry.attributes.position.array;
......@@ -106,7 +106,7 @@ THREE.WireframeHelper = function ( object, hex ) {
}
geometry.addAttribute( 'position', Float32Array, 2 * numEdges, 3 );
geometry.addAttribute( 'position', new Float32Array( numEdges * 2 * 3 ), 3 );
var coords = geometry.attributes.position.array;
......@@ -130,7 +130,7 @@ THREE.WireframeHelper = function ( object, hex ) {
var numEdges = vertices.length / 3;
var numTris = numEdges / 3;
geometry.addAttribute( 'position', Float32Array, 2 * numEdges, 3 );
geometry.addAttribute( 'position', new Float32Array( numEdges * 2 * 3 ), 3 );
var coords = geometry.attributes.position.array;
......
......@@ -5,8 +5,8 @@
THREE.Sprite = ( function () {
var geometry = new THREE.Geometry2( 3 );
geometry.vertices.set( [ - 0.5, - 0.5, 0, 0.5, - 0.5, 0, 0.5, 0.5, 0 ] );
var geometry = new THREE.BufferGeometry();
geometry.addAttribute( 'position', new Float32Array( [ - 0.5, - 0.5, 0, 0.5, - 0.5, 0, 0.5, 0.5, 0 ] ), 3 );
return function ( material ) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册