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