Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
138 stars 2 forks source link

Implement Baked Occlusion Culling #695

Open Enverex opened 11 months ago

Enverex commented 11 months ago

Is your feature request related to a problem? Please describe.

Currently everything within the camera frustum is rendered, regardless of whether it's visible or not. This is a clear unnecessary drain on resources and further degrades rendering performance.

Describe the solution you'd like

Baked occlusion culling would allow objects that aren't visible (i.e. occluded by other objects) to not be rendered, potentially drastically improving rendering performance.

Describe alternatives you've considered

While frustum culling exists, this only covers what's not in front of you. Likewise you can employ a manual culling system, but this has it's own issues (and in Resonite would require disabling entire chunks of the hierarchy unless you performed some insane manual renderer visibility assignments) and just isn't granular enough.

Additional Context

No response

Frooxius commented 11 months ago

We definitely want to add some form of occlusion culling, but this is a pretty big feature and won't likely happen until we switch to a our own rendering engine, as we'd have to implement solution for Unity and then re-implement this feature again with the new engine.