JMS55
JMS55
1. Setting up a render node in Plugin::build() often looks like this: ```rust // Create node let taa_node = TAANode::new(&mut render_app.world); // Get core_3d subgraph let mut graph = render_app.world.resource_mut::();...
 # Objective - When developing rendering features, it's useful to know how expensive they are. Tracy already lets us measure CPU time per-node, but we don't currently have a...
# Objective - Implements a more efficient, GPU-driven (https://github.com/bevyengine/bevy/issues/1342) rendering pipeline based on meshlets. - Meshes are split into small clusters of triangles called meshlets, each of which acts as...
I've seen a couple of users run into errors like these: `Requested handle of type TypeId { t: 201640482042465126479302603612250925020 } for asset 'ship.gltf' does not match actual asset type 'bevy_gltf::Gltf',...
# Objective - Pipeline compilation is slow and blocks the frame - Closes https://github.com/bevyengine/bevy/issues/8224 ## Solution - Compile pipelines in a Task on the AsyncComputeTaskPool - This won't actually improve...
# Objective - Encoding many GPU commands (such as in a renderpass with many draws, such as the main opaque pass) onto a `wgpu::CommandEncoder` is very expensive, and takes a...
Improve TAA
# Objective - Improve TAA quality - Prevent smearing from motion vectors that point to pixels no longer on-screen - Use textureSampleLevel() which is probably faster than textureSample() (Thanks to...
Runtime performance: * 🔥 (Probably not needed once we have BVH-based persistent culling, but super easy and should be a nice win): Rather than a binary search in fill_cluster_buffers with...
## Changelog - Added `Query::new()` for low-level, unsafe uses of the ECS world.
Since https://github.com/bevyengine/bevy/pull/9685, each instance of `batch_and_prepare_render_phase` will append a copy of `MeshUniform` to the `GpuArrayBuffer` resource for each entity x phase. For 2 cameras, each with 3 phases (shadow, prepass,...