# Feature request: Clustered lights

**URL:** <https://forum.babylonjs.com/t/feature-request-clustered-lights/49495>\
**Category:** Completed Features\
**Created:** [April 9, 2024, 10:18am UTC](https://forum.babylonjs.com/t/feature-request-clustered-lights/49495 "2024-04-09T10:18:43Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Alexander\_Sosnovskiy](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/alexander_sosnovskiy/32/30165_2.png) [@Alexander\_Sosnovskiy](https://forum.babylonjs.com/u/Alexander_Sosnovskiy)\
**Post date:** [April 9, 2024, 10:18am UTC](https://forum.babylonjs.com/t/feature-request-clustered-lights/49495/1 "2024-04-09T10:18:43Z")

</div>

Something like [GitHub - wizgrav/cl2: Compute-Less Clustered Lighting](https://github.com/wizgrav/cl2)

Related messages:

> [@Handling lots of lights in a scene and lights with instanced meshes](https://forum.babylonjs.com/t/handling-lots-of-lights-in-a-scene-and-lights-with-instanced-meshes/45745/8):
>
> Clustered forward rendering (you can search for the terms in Google, you will get plenty of references - for eg [A Primer On Efficient Rendering Algorithms & Clustered Shading.](https://www.aortiz.me/2018/12/21/CG.html)) would be something nice to support, but would likely have some big implications on the current architecture…

> [@Increase the number of lights](https://forum.babylonjs.com/t/increase-the-number-of-lights/23037/3):
>
> Yes, using dozens of lights is not manageable currently, you should stick with less as there are some hardware limits, as you could see (the number of uniform buffers we can pass to a shader is limited and each light consumes one). What you can try to do is determining the lights that are affecting the most a mesh and use the light.includedOnlyMeshes array to only have 4/5 lights affecting a mesh at any time. There are technics to handle a lot of lights, but it’s a whole new world ([Managing ma…](https://www.youtube.com/watch?v=uEtI7JRBVXk)

---

<div class="post-metadata">

**Author:** ![sebavan](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/sebavan/32/57_2.png) [@sebavan](https://forum.babylonjs.com/u/sebavan)\
**Post date:** [April 10, 2024, 9:41pm UTC](https://forum.babylonjs.com/t/feature-request-clustered-lights/49495/2 "2024-04-10T21:41:28Z")

</div>

I really like the idea but I am not sure of the possibility mostly related to the overall complexity of implementation for now.

Could you log a Feature Request on Github ?

---

<div class="post-metadata">

**Author:** ![Alexander\_Sosnovskiy](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/alexander_sosnovskiy/32/30165_2.png) [@Alexander\_Sosnovskiy](https://forum.babylonjs.com/u/Alexander_Sosnovskiy)\
**Post date:** [April 11, 2024, 7:50am UTC](https://forum.babylonjs.com/t/feature-request-clustered-lights/49495/3 "2024-04-11T07:50:26Z")

</div>

Thanks! Done [Feature request: Clustered lights · Issue #14973 · BabylonJS/Babylon.js · GitHub](https://github.com/BabylonJS/Babylon.js/issues/14973)

---

<div class="post-metadata">

**Author:** ![Oros\_Bogdan](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/oros_bogdan/32/39847_2.png) [@Oros\_Bogdan](https://forum.babylonjs.com/u/Oros_Bogdan)\
**Post date:** [August 4, 2024, 7:27pm UTC](https://forum.babylonjs.com/t/feature-request-clustered-lights/49495/4 "2024-08-04T19:27:32Z")

</div>

Definitely would be awesome to have in babylon for more complex scenes.

---

<div class="post-metadata">

**Author:** ![Alexander\_Sosnovskiy](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/alexander_sosnovskiy/32/30165_2.png) [@Alexander\_Sosnovskiy](https://forum.babylonjs.com/u/Alexander_Sosnovskiy)\
**Post date:** [September 14, 2025, 5:03am UTC](https://forum.babylonjs.com/t/feature-request-clustered-lights/49495/5 "2025-09-14T05:03:11Z")

</div>

It was implemented!!! [Initial clustered lights implementation (tiled clustering only) by matanui159 · Pull Request #16866 · BabylonJS/Babylon.js · GitHub](https://github.com/BabylonJS/Babylon.js/pull/16866)
