You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As far as I understand, level of detail (LoD) in Godot is currently achieved by using an existing feature named draw range in GeometryInstance, and having multiple instances of the same object at different ranges.
This is fine for local objects, but it becomes nasty when it comes to lodding a terrain, or a forest (anything not "local" or numerous).
Heightmaps or voxel geometry for example require to be split in chunks, and splits are bigger or smaller depending on their LoD level. In addition to that, their boundaries have to be recalculated with different geometry everytime the LoD is changing, and this for every viewport in the same World. It's still involves turning meshes on and off, somehow, but relying only on just draw range is impossible, it would need some more custom logic.
Advanced lodding techniques involve collapsing vertices gradually, which is also completely different from draw range. And in case Godot won't support this natively, there should be room in the API to be able to implement it as a module.
So the proposal here is as the title says: it would be great if 3.0 had the API possibility of having custom lodding that is not only based on a fixed draw range algorithm (could also be related to #6375 which is about hysteresis)
The text was updated successfully, but these errors were encountered:
As far as I understand, level of detail (LoD) in Godot is currently achieved by using an existing feature named
draw range
in GeometryInstance, and having multiple instances of the same object at different ranges.This is fine for local objects, but it becomes nasty when it comes to lodding a terrain, or a forest (anything not "local" or numerous).
Heightmaps or voxel geometry for example require to be split in chunks, and splits are bigger or smaller depending on their LoD level. In addition to that, their boundaries have to be recalculated with different geometry everytime the LoD is changing, and this for every viewport in the same World. It's still involves turning meshes on and off, somehow, but relying only on just
draw range
is impossible, it would need some more custom logic.Advanced lodding techniques involve collapsing vertices gradually, which is also completely different from
draw range
. And in case Godot won't support this natively, there should be room in the API to be able to implement it as a module.So the proposal here is as the title says: it would be great if 3.0 had the API possibility of having custom lodding that is not only based on a fixed draw range algorithm (could also be related to #6375 which is about hysteresis)
The text was updated successfully, but these errors were encountered: