@vertex fn vert_main(@location(0) a_particlePos : vec2, @location(1) a_particleVel : vec2, @location(2) a_pos : vec2) -> @builtin(position) vec4 { let angle = -atan2(a_particleVel.x, a_particleVel.y); let pos = vec2( (a_pos.x * cos(angle)) - (a_pos.y * sin(angle)), (a_pos.x * sin(angle)) + (a_pos.y * cos(angle))); return vec4(pos + a_particlePos, 0.0, 1.0); } @fragment fn frag_main() -> @location(0) vec4 { return vec4(1.0, 1.0, 1.0, 1.0); }