feat: actors stage 1
This commit is contained in:
parent
bd88d3cbd6
commit
4869db01e5
5 changed files with 112 additions and 60 deletions
11
app/main.ts
11
app/main.ts
|
|
@ -47,7 +47,7 @@ function benchStats(a: number[]): { median: number; p95: number; max: number; me
|
|||
|
||||
async function main(): Promise<void> {
|
||||
const textures = await loadTextures()
|
||||
const level = buildLevel()
|
||||
const level = buildLevel(textures)
|
||||
// Two canonical mob meshes, built once and shared by every instance (the sim
|
||||
// supplies each mob's per-frame transform).
|
||||
const frogMesh: Mesh = { verts: [], indices: [] }
|
||||
|
|
@ -161,11 +161,10 @@ async function main(): Promise<void> {
|
|||
let t = level.floor.indices.length + level.walls.indices.length + level.crate.indices.length
|
||||
for (const i of visible) {
|
||||
const c = level.chunks[i]
|
||||
t += c.grass.indices.length + c.flowers.indices.length
|
||||
const far = chunkFar(c, cam.position, config.lodDistance)
|
||||
t += far
|
||||
? c.barkFar.indices.length + c.birchBarkFar.indices.length + c.leafFar.indices.length + c.needleFar.indices.length + c.rockFar.indices.length
|
||||
: c.bark.indices.length + c.birchBark.indices.length + c.leaf.indices.length + c.needle.indices.length + c.rock.indices.length
|
||||
const groups = chunkFar(c, cam.position, config.lodDistance) ? c.far : c.near
|
||||
for (const g of groups) {
|
||||
t += g.mesh.indices.length
|
||||
}
|
||||
}
|
||||
return (t / 3) | 0
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue