bevy/crates/bevy_pbr/src
Dragoș Tiselice ba7907cae7
Added visibility bitmask as an alternative SSAO method (#13454)
Early implementation. I still have to fix the documentation and consider
writing a small migration guide.

Questions left to answer:

* [x] should thickness be an overridable constant?
* [x] is there a better way to implement `Eq`/`Hash` for `SSAOMethod`?
* [x] do we want to keep the linear sampler for the depth texture?
* [x] is there a better way to separate the logic than preprocessor
macros?


![vbao](https://github.com/bevyengine/bevy/assets/4136413/2a8a0389-2add-4c2e-be37-e208e52dcd25)

## Migration guide

SSAO algorithm was changed from GTAO to VBAO (visibility bitmasks). A
new field, `constant_object_thickness`, was added to
`ScreenSpaceAmbientOcclusion`. `ScreenSpaceAmbientOcclusion` also lost
its `Eq` and `Hash` implementations.

---------

Co-authored-by: JMS55 <47158642+JMS55@users.noreply.github.com>
2024-10-02 13:43:35 +00:00
..
cluster The Cooler 'Retain Rendering World' (#15320) 2024-09-30 18:51:43 +00:00
deferred Added visibility bitmask as an alternative SSAO method (#13454) 2024-10-02 13:43:35 +00:00
light Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
light_probe The Cooler 'Retain Rendering World' (#15320) 2024-09-30 18:51:43 +00:00
lightmap Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
meshlet Fix Mesh allocator bug and reduce Mesh data copies by two (#15566) 2024-10-01 17:15:57 +00:00
prepass Revert "Have EntityCommands methods consume self for easier chaining" (#15523) 2024-10-02 12:47:26 +00:00
render Added visibility bitmask as an alternative SSAO method (#13454) 2024-10-02 13:43:35 +00:00
ssao Added visibility bitmask as an alternative SSAO method (#13454) 2024-10-02 13:43:35 +00:00
ssr Migrate motion blur, TAA, SSAO, and SSR to required components (#15572) 2024-10-01 22:45:31 +00:00
volumetric_fog Migrate fog volumes to required components (#15568) 2024-10-01 19:51:22 +00:00
bundle.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
extended_material.rs Simpler lint fixes: makes ci lints work but disables a lint for now (#15376) 2024-09-24 11:42:59 +00:00
fog.rs Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
lib.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
material.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
mesh_material.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
parallax.rs bevy_reflect: FromReflect Ergonomics Implementation (#6056) 2023-06-29 01:31:34 +00:00
pbr_material.rs Simpler lint fixes: makes ci lints work but disables a lint for now (#15376) 2024-09-24 11:42:59 +00:00
wireframe.rs Revert "Have EntityCommands methods consume self for easier chaining" (#15523) 2024-10-02 12:47:26 +00:00