# Large models implementation

**URL:** <https://forum.babylonjs.com/t/large-models-implementation/47517>\
**Category:** Questions\
**Tags:** instances, mesh, optimization, transparency\
**Created:** [January 25, 2024, 10:44am UTC](https://forum.babylonjs.com/t/large-models-implementation/47517 "2024-01-25T10:44:11Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![kzhsw](https://avatars.discourse-cdn.com/v4/letter/k/848f3c/32.png) [@kzhsw](https://forum.babylonjs.com/u/kzhsw)\
**Post date:** [January 27, 2024, 2:43am UTC](https://forum.babylonjs.com/t/large-models-implementation/47517/4 "2024-01-27T02:43:45Z")

</div>

In case of BIM, a model can contain thousands of small meshes with difference transformation, but with few material, that fits the case of [Multi-Draw Indirect](https://github.com/gpuweb/gpuweb/pull/2315), which spec has not finished for webgpu, but already for native platforms like opengl or vulkan, in some third-party [benchmark](https://tellusim.com/mesh-shader/), Multi-Draw Indirect can have the performance similar to single mesh.  
But since it is not fully finished on web, [WEBGL\_multi\_draw](https://developer.mozilla.org/en-US/docs/Web/API/WEBGL_multi_draw) also worths consideration, there is a [feature request](https://forum.babylonjs.com/t/webgl-multi-draw-extension/47345) for babylon.js, and three.js has already implemented it with [BatchedMesh](https://github.com/mrdoob/three.js/issues/22376).  
After the introduction of Compute Shader of webgpu, there is also an option to use [Compute Shader rasterization](https://tellusim.com/compute-raster/) instead of hardware ones, giving devs more fine-grained control on performance turning, and it shows even better performance than Multi-Draw Indirect.

---

_[View the full topic](https://forum.babylonjs.com/t/large-models-implementation/47517)._
