Levels of Detail (LOD) support for scaled meshes

@Deltakosh thank you for invitation, but it is bit over my head. I am a backend engineer who just started playing with computer graphics and my programming skills in this domain are currently inversely proportional to the amount of feature requests I can come up with.

To give an example, I just spend an hour trying to find out how to implement WebGL queries according to your advice:

to be performant we need to use weblg queries that will give us the screen coverage of a mesh. Then we can convert that number of pixels to a threshold like a ratio to the overall number of pixels

and failed.

Nevertheless it is nice to see that I arrived to the same conclusion as people before me. This confirms that my line of thought is right and a more advanced LoD mechanism could highly improve the performance of BabylonJS.

As a user, I can add from myself that whoever dares to reimplement BabylonJS’ LoD mechanism, should make it pluggable, so that in the future not only screen coverage would trigger LoD, but also other metrics. I can think of:

  • distance from the screen center (the closer to screen edges, the less detail)
  • exposure to light (the darker, the less detail)
  • frame rate (the lower fps, the less detail)

I hope it doesn’t sound naive.