bevy/crates/bevy_pbr/src
JMS55 e1a0da0fa6
Meshlet LOD-compatible two-pass occlusion culling (#12898)
Keeping track of explicit visibility per cluster between frames does not
work with LODs, and leads to worse culling (using the final depth buffer
from the previous frame is more accurate).

Instead, we need to generate a second depth pyramid after the second
raster pass, and then use that in the first culling pass in the next
frame to test if a cluster would have been visible last frame or not.

As part of these changes, the write_index_buffer pass has been folded
into the culling pass for a large performance gain, and to avoid
tracking a lot of extra state that would be needed between passes.

Prepass previous model/view stuff was adapted to work with meshlets as
well.

Also fixed a bug with materials, and other misc improvements.

---------

Co-authored-by: François <mockersf@gmail.com>
Co-authored-by: atlas dostal <rodol@rivalrebels.com>
Co-authored-by: vero <email@atlasdostal.com>
Co-authored-by: Patrick Walton <pcwalton@mimiga.net>
Co-authored-by: Robert Swain <robert.swain@gmail.com>
2024-04-28 05:30:20 +00:00
..
deferred Implement percentage-closer filtering (PCF) for point lights. (#12910) 2024-04-10 20:16:08 +00:00
light chore: fix some comments (#13083) 2024-04-25 19:09:16 +00:00
light_probe Implement clone for most bundles. (#12993) 2024-04-16 16:37:09 +00:00
lightmap Generate MeshUniforms on the GPU via compute shader where available. (#12773) 2024-04-10 05:33:32 +00:00
meshlet Meshlet LOD-compatible two-pass occlusion culling (#12898) 2024-04-28 05:30:20 +00:00
prepass Meshlet LOD-compatible two-pass occlusion culling (#12898) 2024-04-28 05:30:20 +00:00
render Cleanup extract_meshes (#13026) 2024-04-26 23:49:32 +00:00
ssao Implement clone for most bundles. (#12993) 2024-04-16 16:37:09 +00:00
bundle.rs Implement clone for most bundles. (#12993) 2024-04-16 16:37:09 +00:00
extended_material.rs Add missing Default impl to ExtendedMaterial. (#13008) 2024-04-18 12:57:14 +00:00
fog.rs Migrate from LegacyColor to bevy_color::Color (#12163) 2024-02-29 19:35:12 +00:00
lib.rs Fix CameraProjection panic and improve CameraProjectionPlugin (#11808) 2024-04-26 23:52:09 +00:00
material.rs Fix beta lints (#12980) 2024-04-16 02:46:46 +00:00
parallax.rs bevy_reflect: FromReflect Ergonomics Implementation (#6056) 2023-06-29 01:31:34 +00:00
pbr_material.rs Fix beta lints (#12980) 2024-04-16 02:46:46 +00:00
wireframe.rs Use WireframeColor to override global color (#13034) 2024-04-20 13:59:12 +00:00