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 real-time SSAO on the CPU #21

Open
Dawoodoz opened this issue Aug 7, 2020 · 0 comments
Open

Implement real-time SSAO on the CPU #21

Dawoodoz opened this issue Aug 7, 2020 · 0 comments
Labels
enhancement New feature or request Low priority No rush to have this done, because other things are more urgent. Realism

Comments

@Dawoodoz
Copy link
Owner

Dawoodoz commented Aug 7, 2020

Screen Space Ambient Occlusion implemented on a CPU can take advantage of many techniques that are not available in GPU pixel shaders to make it fast.

Dirty rectangles can allow only calculating a filter for the regions that have changed.

Box filtering on a CPU can be done in less runtime complexity than a separable pixel shader on the GPU. Repeated box filtering approximates gaussian blur and can probably be added to the same pass using more registers to save cache.

Other effects such as bloom can also reduce run-time complexity by allowing each following pixel to re-use the result of the previous neighbor. If the GPU is ten times as fast, the CPU will just have to do 10% of the calculations to reach the same results in the same amount of time.

@Dawoodoz Dawoodoz added enhancement New feature or request Realism labels Aug 7, 2020
@Dawoodoz Dawoodoz added the Low priority No rush to have this done, because other things are more urgent. label May 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Low priority No rush to have this done, because other things are more urgent. Realism
Projects
None yet
Development

No branches or pull requests

1 participant