Fix: Add SyncComponents for SSAO, ensuring SSAOResources is synced#24086
Merged
alice-i-cecile merged 2 commits intobevyengine:mainfrom May 4, 2026
Merged
Fix: Add SyncComponents for SSAO, ensuring SSAOResources is synced#24086alice-i-cecile merged 2 commits intobevyengine:mainfrom
alice-i-cecile merged 2 commits intobevyengine:mainfrom
Conversation
JMS55
approved these changes
May 3, 2026
Contributor
JMS55
left a comment
There was a problem hiding this comment.
Comment seems kinda redundant, but approved.
Contributor
Author
|
I’ll remove the comment, I can be excessively verbose 😅 |
Member
|
The issue means Could you try adding bevy/crates/bevy_pbr/src/ssao/mod.rs Lines 111 to 115 in ce2bf99 |
Contributor
Author
|
Yep that works, so I switched to using sync components as opposed to checking for the regular component. I had to make the bindgroups and pipeline id |
beicause
approved these changes
May 3, 2026
JMS55
approved these changes
May 3, 2026
pull Bot
pushed a commit
to orzogc/bevy
that referenced
this pull request
May 4, 2026
…e#24089) # Objective - Alongside bevyengine#24086, helps with bevyengine#24084, although I think we should double check any other added conditionals for bind group entries to make sure they are accurate. ## Solution So, originally the `SCREEN_SPACE_TRANSMISSION` was enabled with `key.intersects(MeshPipelineKey::SCREEN_SPACE_SPECULAR_TRANSMISSION_RESERVED_BITS)`. However, a low quality transmission would make this false, since low’s MeshPipelineKey is configured like this: `const SCREEN_SPACE_SPECULAR_TRANSMISSION_LOW = 0 << Self::SCREEN_SPACE_SPECULAR_TRANSMISSION_SHIFT_BITS;`. So, a ScreenSpaceTransmission with Low Quality would break rendering (since another if-block merely checks that the `ScreenSpaceTransmission` component exists) Making it so that the low transmission truly does *not* include the view_transmission_textures makes the transmission render not properly - the spheres disappear! So, I think the proper fix here is to remove the gating around transmission textures. Edit: Another potential fix is to change the condition of the `intersects` but I’m not sure how to encode what we want unless we want to add another bit for `ScreenSpaceTransmission` component exists essentially? Happy to close this PR if that is an acceptable direction. ## Testing `cargo run --example transmission` works for all quality levels.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Objective
Solution
mesh_view_bindingslogic is valid.Testing
cargo run --example ssao: toggling “Off” no longer crashes.