struct Simulation { | |
i : u32; | |
}; | |
struct Particle { | |
position : array<vec3<f32>, 8>; | |
lifetime : f32; | |
color : vec4<f32>; | |
velocity : vec3<f32>; | |
}; | |
struct Particles { | |
p : array<Particle>; | |
}; | |
@group(1) @binding(3) var<storage, read> particles : Particles; | |
@group(1) @binding(4) var<uniform> sim : Simulation; | |
@stage(compute) @workgroup_size(1) | |
fn main() { | |
var particle = particles.p[0]; | |
particle.position[sim.i] = particle.position[sim.i]; | |
} |