Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement GPU occlusion culling #33

Open
cfnptr opened this issue Dec 5, 2024 · 0 comments
Open

Implement GPU occlusion culling #33

cfnptr opened this issue Dec 5, 2024 · 0 comments
Labels
improvement Existing feature improvement research Issue requires a research

Comments

@cfnptr
Copy link
Owner

cfnptr commented Dec 5, 2024

Integrate it into the MeshRenderSystem.

Possible culling flow:

  1. Z-Prepass: render all visible from previous frame objects into the HZB.
  2. Check visibility with occlusion queries for not visible objects.
  3. Adjust indirect draw commands arguments insidie compute shader based on queries result.
  4. Somehow store new visibility states into the buffer and reuse on the next frame.

*4 Maybe we can make global buffer with visibilities and unique object identifiers to pass info between frames?

Based on this: https://www.youtube.com/watch?v=CHYxjpYep_M

@cfnptr cfnptr added improvement Existing feature improvement research Issue requires a research labels Dec 5, 2024
@cfnptr cfnptr added this to the First beta version (v0.1.0) milestone Dec 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement Existing feature improvement research Issue requires a research
Projects
None yet
Development

No branches or pull requests

1 participant