improve performance
This commit is contained in:
@@ -7,6 +7,7 @@ window.Tessellator = class {
|
|||||||
transparent: true
|
transparent: true
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this.index = new THREE.BufferAttribute(new Uint32Array([0, 2, 1, 0, 3, 2]), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
bindTexture(texture) {
|
bindTexture(texture) {
|
||||||
@@ -49,9 +50,10 @@ window.Tessellator = class {
|
|||||||
geometry.setAttribute('position', new THREE.BufferAttribute(new Float32Array(this.vertices), 3));
|
geometry.setAttribute('position', new THREE.BufferAttribute(new Float32Array(this.vertices), 3));
|
||||||
geometry.setAttribute('color', new THREE.BufferAttribute(new Float32Array(this.colors), 3));
|
geometry.setAttribute('color', new THREE.BufferAttribute(new Float32Array(this.colors), 3));
|
||||||
geometry.setAttribute('uv', new THREE.BufferAttribute(new Float32Array(this.uv), 2));
|
geometry.setAttribute('uv', new THREE.BufferAttribute(new Float32Array(this.uv), 2));
|
||||||
geometry.setIndex(new THREE.BufferAttribute(new Uint32Array([0, 2, 1, 0, 3, 2]), 1));
|
geometry.setIndex(this.index);
|
||||||
|
|
||||||
let mesh = new THREE.Mesh(geometry, this.material);
|
let mesh = new THREE.Mesh(geometry, this.material);
|
||||||
|
group.matrixAutoUpdate = false;
|
||||||
group.add(mesh);
|
group.add(mesh);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ window.WorldRenderer = class {
|
|||||||
|
|
||||||
// Create scene
|
// Create scene
|
||||||
this.scene = new THREE.Scene();
|
this.scene = new THREE.Scene();
|
||||||
|
this.scene.matrixAutoUpdate = false;
|
||||||
|
|
||||||
// Create web renderer
|
// Create web renderer
|
||||||
this.canvasElement = document.createElement('canvas')
|
this.canvasElement = document.createElement('canvas')
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ window.Chunk = class {
|
|||||||
this.z = z;
|
this.z = z;
|
||||||
|
|
||||||
this.group = new THREE.Object3D();
|
this.group = new THREE.Object3D();
|
||||||
|
this.group.matrixAutoUpdate = false;
|
||||||
|
|
||||||
// Initialize sections
|
// Initialize sections
|
||||||
this.sections = [];
|
this.sections = [];
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
window.ChunkSection = class {
|
window.ChunkSection = class {
|
||||||
|
|
||||||
static get SIZE() {
|
static SIZE = 16;
|
||||||
return 16;
|
|
||||||
}
|
|
||||||
|
|
||||||
constructor(world, x, y, z) {
|
constructor(world, x, y, z) {
|
||||||
this.world = world;
|
this.world = world;
|
||||||
@@ -11,6 +9,7 @@ window.ChunkSection = class {
|
|||||||
this.z = z;
|
this.z = z;
|
||||||
|
|
||||||
this.group = new THREE.Object3D();
|
this.group = new THREE.Object3D();
|
||||||
|
this.group.matrixAutoUpdate = false;
|
||||||
this.dirty = true;
|
this.dirty = true;
|
||||||
|
|
||||||
this.blocks = [];
|
this.blocks = [];
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ window.World = class {
|
|||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
this.group = new THREE.Object3D();
|
this.group = new THREE.Object3D();
|
||||||
|
this.group.matrixAutoUpdate = false;
|
||||||
this.chunks = [];
|
this.chunks = [];
|
||||||
|
|
||||||
// Debug world
|
// Debug world
|
||||||
|
|||||||
Reference in New Issue
Block a user