bevy/crates/bevy_pbr/src/meshlet
JMS55 267b57e565
Meshlet normal-aware LOD and meshoptimizer upgrade (#16111)
# Objective

- Choose LOD based on normal simplification error in addition to
position error
- Update meshoptimizer to 0.22, which has a bunch of simplifier
improvements

## Testing

- Did you test these changes? If so, how?
- Visualize normals, and compare LOD changes before and after. Normals
no longer visibly change as the LOD cut changes.
- Are there any parts that need more testing?
  - No
- How can other people (reviewers) test your changes? Is there anything
specific they need to know?
- Run the meshlet example in this PR and on main and move around to
change the LOD cut. Before running each example, in
meshlet_mesh_material.wgsl, replace `let color = vec3(rand_f(&rng),
rand_f(&rng), rand_f(&rng));` with `let color =
(vertex_output.world_normal + 1.0) / 2.0;`. Make sure to download the
appropriate bunny asset for each branch!
2024-11-04 15:20:22 +00:00
..
asset.rs Meshlet new error projection (#15846) 2024-10-22 20:14:30 +00:00
cull_clusters.wgsl Meshlet fill cluster buffers rewritten (#15955) 2024-10-23 19:18:49 +00:00
downsample_depth.wgsl Meshlet software raster + start of cleanup (#14623) 2024-08-26 17:54:34 +00:00
dummy_visibility_buffer_resolve.wgsl Meshlet rendering (initial feature) (#10164) 2024-03-25 19:08:27 +00:00
fill_cluster_buffers.wgsl Meshlet fill cluster buffers rewritten (#15955) 2024-10-23 19:18:49 +00:00
from_mesh.rs Meshlet normal-aware LOD and meshoptimizer upgrade (#16111) 2024-11-04 15:20:22 +00:00
instance_manager.rs Meshlet fill cluster buffers rewritten (#15955) 2024-10-23 19:18:49 +00:00
material_pipeline_prepare.rs Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
material_shade_nodes.rs Meshlet software raster + start of cleanup (#14623) 2024-08-26 17:54:34 +00:00
meshlet_bindings.wgsl Meshlet fill cluster buffers rewritten (#15955) 2024-10-23 19:18:49 +00:00
meshlet_mesh_manager.rs Meshlet new error projection (#15846) 2024-10-22 20:14:30 +00:00
meshlet_mesh_material.wgsl Meshlet misc (#13761) 2024-06-10 13:06:08 +00:00
meshlet_preview.png Meshlet rendering (initial feature) (#10164) 2024-03-25 19:08:27 +00:00
mod.rs Meshlet normal-aware LOD and meshoptimizer upgrade (#16111) 2024-11-04 15:20:22 +00:00
persistent_buffer_impls.rs Meshlet new error projection (#15846) 2024-10-22 20:14:30 +00:00
persistent_buffer.rs Add core and alloc over std Lints (#15281) 2024-09-27 00:59:59 +00:00
pipelines.rs Meshlet fill cluster buffers rewritten (#15955) 2024-10-23 19:18:49 +00:00
remap_1d_to_2d_dispatch.wgsl Meshlet fill cluster buffers rewritten (#15955) 2024-10-23 19:18:49 +00:00
resolve_render_targets.wgsl More triangles/vertices per meshlet (#15023) 2024-09-08 17:55:57 +00:00
resource_manager.rs Meshlet fill cluster buffers rewritten (#15955) 2024-10-23 19:18:49 +00:00
visibility_buffer_hardware_raster.wgsl Per-meshlet compressed vertex data (#15643) 2024-10-08 18:42:55 +00:00
visibility_buffer_raster_node.rs Meshlet fill cluster buffers rewritten (#15955) 2024-10-23 19:18:49 +00:00
visibility_buffer_resolve.wgsl Meshlet fill cluster buffers rewritten (#15955) 2024-10-23 19:18:49 +00:00
visibility_buffer_software_raster.wgsl Meshlet fix software rasterization (#16049) 2024-10-22 23:05:40 +00:00