Update: CC - Demo New - Key Up (ip0443a52d.js) 405 bytes modified

beta.r3js.org
-=yb4f310 2018-02-15 05:20:54 +01:00
parent 1395de206e
commit c4fa765431
1 changed files with 33 additions and 21 deletions

View File

@ -28,9 +28,9 @@ if (data.code === 'KeyL') {
var x, y = 0;
var positions = [];
var quaternions = [];
var scales = [];
var offsets = [];
var orientations = [];
//var scales = [];
var height = 0;
@ -40,32 +40,44 @@ if (data.code === 'KeyL') {
height = heightData[(y * 128) + x] * 10;
scale = height * 0.1;
positions.push(x - 64, 64 - y, height);
quaternions.push(0, 0, 0, 1);
scales.push(scale, scale, scale);
offsets.push(x - 64, 64 - y, height);
orientations.push(0, 0, 0, 1);
//scales.push(scale, scale, scale);
}
}
this.instancedGeometry.instance.index = this.boxGeometry.instance.index;
this.instancedGeometry.instance.index = this.boxGeometry.instance.index;
this.instancedGeometry.instance.attributes.position = this.boxGeometry.instance.attributes.position;
this.instancedGeometry.instance.attributes.uv = this.boxGeometry.instance.attributes.uv;
this.instancedGeometry.instance.removeAttribute('color');
this.instancedGeometry.instance.removeAttribute('instancePosition');
this.instancedGeometry.instance.removeAttribute('instanceQuaternion');
this.instancedGeometry.instance.removeAttribute('instanceScale');
this.instancedGeometry.instance.addAttribute('instancePosition', new THREE.InstancedBufferAttribute( new Float32Array(positions), 3));
this.instancedGeometry.instance.addAttribute('instanceQuaternion', new THREE.InstancedBufferAttribute( new Float32Array(quaternions), 4));
this.instancedGeometry.instance.addAttribute('instanceScale', new THREE.InstancedBufferAttribute( new Float32Array(scales), 3));
this.instancedGeometry.instance.addAttribute('color', new THREE.Float32BufferAttribute(colors, 3));
var offsetAttribute = new THREE.InstancedBufferAttribute(
new Float32Array(offsets),
3
);
this.instancedGeometry.instance.clearGroups();
var orientationAttribute = new THREE.InstancedBufferAttribute(
new Float32Array(orientations),
4
).setDynamic(true);
this.instancedGeometry.instance.addAttribute('offset', offsetAttribute);
this.instancedGeometry.instance.addAttribute('orientation', orientationAttribute);
this.instancedGeometry.instance.addGroup(0, 36, 0);
// this.instancedGeometry.instance.removeAttribute('color');
// this.instancedGeometry.instance.removeAttribute('instancePosition');
// this.instancedGeometry.instance.removeAttribute('instanceQuaternion');
// this.instancedGeometry.instance.removeAttribute('instanceScale');
// this.instancedGeometry.instance.addAttribute('instancePosition', new THREE.InstancedBufferAttribute( new Float32Array(positions), 3));
// this.instancedGeometry.instance.addAttribute('instanceQuaternion', new THREE.InstancedBufferAttribute( new Float32Array(quaternions), 4));
// this.instancedGeometry.instance.addAttribute('instanceScale', new THREE.InstancedBufferAttribute( new Float32Array(scales), 3));
// this.instancedGeometry.instance.addAttribute('color', new THREE.Float32BufferAttribute(colors, 3));
// this.instancedGeometry.instance.clearGroups();
// this.instancedGeometry.instance.addGroup(0, 36, 0);
//this.meshImageGrid.geometry.instance = this.instancedGeometry.instance;