24 lines
458 B
WebGPU Shading Language
24 lines
458 B
WebGPU Shading Language
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];
|
|
}
|