-
-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Add bevy_post_processing #18425
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
base: main
Are you sure you want to change the base?
Add bevy_post_processing #18425
Conversation
You added a new feature but didn't update the readme. Please run |
This gets tricky. Auto exposure shouldn't be here I don't think. DLSS is going to need to depend on it likely (haven't written that part yet). Which means that the anti aliasing crate would have to depend on the post processing crate. Other potential issue, although I think you've handled this(?), is things like DOF and motion blur want to run before TAA/DLSS. |
The main limitation is the render graph being limited in how and when you can add nodes more than the crate itself. Right now things work because the PostProcessingPlugin gets insert bevy the AntiAliasing plugin. But it will start to break when they depend on each other. I'm fine with waiting on a better render graph. But I had the code written already so I opened the PR since for 0.16 it would help a bit with compile time. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i think this is worthwhile, even if other things end up depending on both crates it'll still be faster overall (since both compile faster than a single unit with everything in).
i haven't reviewed in detail since it's mostly copy paste. the node ordering looks the same and the examples seem fine.
approved pending ci obviously
Objective
Solution
Testing
Showcase
main:
this PR:
Notes
This one is probably a bit more controversial than anti_aliasing because it's harder to move every post processing effect to this new crate. Also, the line between what is and isn't post processing isn't as clear. We might want to simply use a subfolder instead of a new crate.