InstancedMesh optimation with Tiles culling?


i use InstancedMesh to show many Cacti on a big Terrain Mesh, lets say 256 Cactis on a 512x512 Mesh,
the drawin is done with 1 draw call but without culling a lot of triangles needs to be drawn,
the idea is to split the one 256 InstancedMesh in more clusters and use culling for this.

is there any right to use system for this in Threejs ?


Using clusters is one way you can do it, but 256 doesn’t sound like too many. For the IndexedVolume i use auto-instancing with culling as well as clusters stored in nodes for specific kind of assets, but it requires a lot for it to pay off.

I would place Object3Ds with furstum culling as grid cells and show/hide instances if the given cell is culled or not - but I’m also curious about your thoughts.

yes the count of 256 is not the problem more the detail triangles in the Mesh

is there a way now to use the IndexedVolume?

Meep has culling in its Instancing implementation. It’s called Foliage there, which is a bit misleading, since it’s generic instanced meshes.

Here’s an example with 10,000,000 instances running at stable high FPS using meep:

1 Like