bevy/examples/3d
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
..
3d_scene.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
3d_shapes.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
3d_viewport_to_world.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
animated_material.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
anisotropy.rs Migrate scenes to required components (#15579) 2024-10-01 22:42:11 +00:00
anti_aliasing.rs Revert "Have EntityCommands methods consume self for easier chaining" (#15523) 2024-10-02 12:47:26 +00:00
atmospheric_fog.rs Migrate scenes to required components (#15579) 2024-10-01 22:42:11 +00:00
auto_exposure.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
blend_modes.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
bloom_3d.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
camera_sub_view.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
clearcoat.rs Migrate scenes to required components (#15579) 2024-10-01 22:42:11 +00:00
color_grading.rs Migrate scenes to required components (#15579) 2024-10-01 22:42:11 +00:00
deferred_rendering.rs Migrate scenes to required components (#15579) 2024-10-01 22:42:11 +00:00
depth_of_field.rs Revert "Have EntityCommands methods consume self for easier chaining" (#15523) 2024-10-02 12:47:26 +00:00
fog_volumes.rs Migrate lights to required components (#15554) 2024-10-01 03:20:43 +00:00
fog.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
generate_custom_mesh.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
irradiance_volumes.rs Migrate scenes to required components (#15579) 2024-10-01 22:42:11 +00:00
lighting.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
lightmaps.rs Migrate scenes to required components (#15579) 2024-10-01 22:42:11 +00:00
lines.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
load_gltf_extras.rs Migrate scenes to required components (#15579) 2024-10-01 22:42:11 +00:00
load_gltf.rs Migrate scenes to required components (#15579) 2024-10-01 22:42:11 +00:00
meshlet.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
motion_blur.rs Revert "Have EntityCommands methods consume self for easier chaining" (#15523) 2024-10-02 12:47:26 +00:00
orthographic.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
parallax_mapping.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
parenting.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
pbr.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
pcss.rs Revert "Have EntityCommands methods consume self for easier chaining" (#15523) 2024-10-02 12:47:26 +00:00
post_processing.rs Migrate scenes to required components (#15579) 2024-10-01 22:42:11 +00:00
query_gltf_primitives.rs Migrate scenes to required components (#15579) 2024-10-01 22:42:11 +00:00
reflection_probes.rs Migrate scenes to required components (#15579) 2024-10-01 22:42:11 +00:00
render_to_texture.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
rotate_environment_map.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
scrolling_fog.rs Migrate motion blur, TAA, SSAO, and SSR to required components (#15572) 2024-10-01 22:45:31 +00:00
shadow_biases.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
shadow_caster_receiver.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
skybox.rs Migrate lights to required components (#15554) 2024-10-01 03:20:43 +00:00
spherical_area_lights.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
split_screen.rs Migrate scenes to required components (#15579) 2024-10-01 22:42:11 +00:00
spotlight.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
ssao.rs Added visibility bitmask as an alternative SSAO method (#13454) 2024-10-02 13:43:35 +00:00
ssr.rs Migrate motion blur, TAA, SSAO, and SSR to required components (#15572) 2024-10-01 22:45:31 +00:00
texture.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
tonemapping.rs Migrate scenes to required components (#15579) 2024-10-01 22:42:11 +00:00
transmission.rs Migrate motion blur, TAA, SSAO, and SSR to required components (#15572) 2024-10-01 22:45:31 +00:00
transparency_3d.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
two_passes.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
update_gltf_scene.rs Migrate scenes to required components (#15579) 2024-10-01 22:42:11 +00:00
vertex_colors.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00
visibility_range.rs Migrate scenes to required components (#15579) 2024-10-01 22:42:11 +00:00
volumetric_fog.rs Migrate scenes to required components (#15579) 2024-10-01 22:42:11 +00:00
wireframe.rs Migrate meshes and materials to required components (#15524) 2024-10-01 21:33:17 +00:00