celestialsim/chunk_nodes/
scatter_place.rs1use crate::chunk_nodes::ChunkNode;
7use crate::chunk_pipeline::ChunkCtx;
8
9pub struct ChunkScatterPlace;
10
11impl ChunkNode for ChunkScatterPlace {
12 fn name(&self) -> &'static str {
13 "celestial/chunk-scatter-place"
14 }
15
16 fn record(&mut self, ctx: &mut ChunkCtx<'_>) {
17 let count = ctx.realize_count;
18 if count == 0 || ctx.gpu.scatter_layer_count() == 0 {
19 return;
20 }
21 let list = ctx.list();
22 let mut rd = ctx.rd.clone();
23 for li in 0..ctx.gpu.scatter_layer_count() {
24 ctx.gpu.record_scatter_place(&mut rd, list, li, count);
25 }
26 }
27}