MCPcopy Create free account
hub / github.com/PerroEngine/Perro / empty_buffer

Function empty_buffer

perro_source/render_stack/perro_graphics/src/water_gpu.rs:1197–1211  ·  view source on GitHub ↗
(device: &wgpu::Device, label: &str, count: usize, water: bool)

Source from the content-addressed store, hash-verified

1195 {
1196 let interval = water_adaptive_readback_interval(
1197 state.sample_readback_rate,
1198 water.wave[3],
1199 !state.queries.is_empty(),
1200 !state.impacts.is_empty(),
1201 );
1202 self.readback_water_interval.insert(*node, interval);
1203 let accum = self.readback_water_accum.entry(*node).or_insert(0.0);
1204 if !all_paused {
1205 *accum += ctx.delta_seconds.max(0.0);
1206 }
1207 let scheduled = interval > 0.0 && *accum + 1.0e-6 >= interval;
1208 if water.sim[1] > 0 && scheduled {
1209 self.readback_nodes.push(*node);
1210 self.readback_offsets.push(water_center_cell_offset(water));
1211 self.readback_scheduled_nodes.push(*node);
1212 }
1213 }
1214 self.readback_water_sample_count = self.readback_nodes.len();

Callers 2

newMethod · 0.85
ensure_capacityMethod · 0.85

Calls 1

maxMethod · 0.45

Tested by

no test coverage detected