← All ideas
  • Published 11 Apr 2022

LOD modifier

I think Blender really needs a LEVEL OF DETAIL modifier that changes the Object data (mesh), based on user set factors to save memory and speed up renders.

Here are some factors:

  1. Distance . If the object is very tiny in the render/viewport (preferably calculated in 2D area, not distance from camera), display different object data. Most commonly a lower detail mesh, simpler shaders. The user could preferably be able to do as many LOD levels as he wants. Also, they could set it to not render/display any mesh at all at a certain distance.

  2. Outside of View . Change the Object Data based on whether the mesh is within the view of the camera or not. Sometimes meshes provide very little or nothing to the scene when they are not directly in view, so they do not have to have complex meshes or shaders. The user could set it to not render/display the model at all if it's not directly visible to the camera.

  3. Obscured by other meshes . Change the Object Data when the object is completely obscured by other meshes or a specific collection of meshes. So, for example, if you are rendering one room in an interior, all the models in another room would not even be calculated, because they are behind a wall and do not provide anything to the current render whatsoever...

If possible, This would really help speeding things up. Of course, objects that are outside of the camera view may still affect the scene in significant ways, like, in reflections, indirect light, shadows, so if used in animations, it may cause visible artifacts when stuff suddenly changes. Also, this would probably not work at all with physics simulations... so should be used with care, but in many cases, this would be amazing.

Imagine having a field of grass, with mesh particles scattered on a huge plane, but the modifier automatically disables all grass meshes that are outside of the view or too far away, or they get simplified, probably saving a whole lot of rendering time...

Or if you are rendering a forest, the close trees would be high detail, the further trees would be simple meshes, and the furthest trees would just be sprites. Yes, instancing helps a lot, but highly reducing shader complexity and overal vertex count helps a lot too...

100%

Development Status: Open

Upvote 7 Downvote 0
FreeMind
11 Apr 2022

1 Comment

thinsoldier

There won't be any new modifiers for several years unless it's one that's already been worked on for years prior.

Some of this is possible with geometry nodes, some of it is slow with geometry nodes, some of it is not yet possible with geometry nodes. Only about 12,906 people on the planet can figure out how to do this with geometry nodes but I think only about 200 of them actually use Blender :(

youtube.com/watch

Pray for nodes.