I would like to add a feature which dynamically changes the distance at which LOD levels on an LodNode appear based on the field of view of the camera observing them.
For example you are zooming in on something with binoculars or a sniper scope: as the field of view narrows, the object takes up more of the screen and it should switch to a higher LOD that would normally show when you are closer to it.
I am looking for advice on the best implementation of said feature.
Option A: Have a setting on the camera/lens that is like a multiplier for the distances set on the LodNode. This is a more manual approach, you need to set this value whenever you set the FOV, but it also gives you more power because you could also tweak it for performance reasons (for example give the player a slider in the graphics options).
Option B: Have settings on the LodNode which sets the “ideal” FOV where it will use the distances as given, and adjust the distances based on how much the FOV is off from the ideal value. This way is more automatic, but I feel it is less powerful.
Or of course other suggestions are welcome.