| 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]; | |
| } |