Commit 1a21cbe
authored
Revert Screen Space Transmission Gate for Mesh Bind Groups (#24089)
# Objective
- Alongside #24086, helps with #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.1 parent 68e5a15 commit 1a21cbe
4 files changed
Lines changed: 23 additions & 42 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
290 | 290 | | |
291 | 291 | | |
292 | 292 | | |
293 | | - | |
294 | | - | |
295 | | - | |
296 | 293 | | |
297 | 294 | | |
298 | 295 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3555 | 3555 | | |
3556 | 3556 | | |
3557 | 3557 | | |
3558 | | - | |
3559 | | - | |
3560 | | - | |
3561 | | - | |
3562 | 3558 | | |
3563 | 3559 | | |
3564 | 3560 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | | - | |
4 | | - | |
| 2 | + | |
| 3 | + | |
5 | 4 | | |
6 | 5 | | |
7 | 6 | | |
| |||
94 | 93 | | |
95 | 94 | | |
96 | 95 | | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
101 | 99 | | |
102 | 100 | | |
103 | 101 | | |
| |||
170 | 168 | | |
171 | 169 | | |
172 | 170 | | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | 171 | | |
177 | 172 | | |
178 | 173 | | |
| |||
408 | 403 | | |
409 | 404 | | |
410 | 405 | | |
411 | | - | |
412 | | - | |
413 | | - | |
414 | | - | |
415 | | - | |
416 | | - | |
417 | | - | |
418 | | - | |
419 | | - | |
420 | | - | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
421 | 414 | | |
422 | 415 | | |
423 | 416 | | |
| |||
649 | 642 | | |
650 | 643 | | |
651 | 644 | | |
652 | | - | |
| 645 | + | |
653 | 646 | | |
654 | 647 | | |
655 | 648 | | |
| |||
728 | 721 | | |
729 | 722 | | |
730 | 723 | | |
731 | | - | |
| 724 | + | |
732 | 725 | | |
733 | 726 | | |
734 | 727 | | |
| |||
869 | 862 | | |
870 | 863 | | |
871 | 864 | | |
872 | | - | |
873 | | - | |
874 | | - | |
875 | | - | |
876 | | - | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
877 | 868 | | |
878 | | - | |
879 | | - | |
880 | | - | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
881 | 872 | | |
882 | | - | |
883 | | - | |
884 | | - | |
| 873 | + | |
| 874 | + | |
885 | 875 | | |
886 | 876 | | |
887 | 877 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
103 | 103 | | |
104 | 104 | | |
105 | 105 | | |
106 | | - | |
107 | 106 | | |
108 | 107 | | |
109 | | - | |
110 | 108 | | |
111 | 109 | | |
112 | 110 | | |
| |||
0 commit comments