Open Geenz opened 3 months ago
We'll likely build this on top of variable rate update system that will come with this: https://github.com/Yellow-Dog-Man/Resonite-Issues/issues/705
This system will be able to drive how often objects update, which could trigger how often is the impostor re-rendered for any dynamic objects.
For my own curiosity, how would Imposters be different from using an LOD Group with a flat quad+material representing the model? What features would be unique to Imposters by comparison?
Imposters allow for more dynamic behavior than that. The object can be rendered from multiple views, so it will adjust the view as you move.
It can also be periodically and efficiently re-rendered to provide better view and update the view when it's animated. This lets you amortize the rendering cost over several frames - instead of rendering the model every single frame you render it every 10th frame for example (which is where it could tie into the variable rate update system).
Is your feature request related to a problem? Please describe.
Objects do not always need to be rendered with their full geometry, especially at a distance.
Describe the solution you'd like
It would be good to support rendering objects at a distance using a 2D image representing the object rather than the object's geometry. This is especially useful for dense foliage, avatars, and similar. It would be good if these images included geometry buffer information- namely normals, depth, albedo, etc. for reprojection with respect to shadows, lighting, etc.
In a rendering context, we call this imposters. This is not the same as a similarly named VRChat feature.
Describe alternatives you've considered
Disabling the object at a distance. This tends to break immersion.
Additional Context
No response
Requesters
No response