Skip to content

Commit

Permalink
Compute Boids: Sprite shader uses color
Browse files Browse the repository at this point in the history
  • Loading branch information
hepp authored and austinEng committed Feb 7, 2023
1 parent ac44d89 commit bc48d03
Showing 1 changed file with 22 additions and 5 deletions.
27 changes: 22 additions & 5 deletions src/sample/computeBoids/sprite.wgsl
Original file line number Diff line number Diff line change
@@ -1,18 +1,35 @@
struct VertexOutput {
@builtin(position) position : vec4<f32>,
@location(4) color : vec4<f32>,
}

@vertex
fn vert_main(
@location(0) a_particlePos : vec2<f32>,
@location(1) a_particleVel : vec2<f32>,
@location(2) a_pos : vec2<f32>
) -> @builtin(position) vec4<f32> {
) -> VertexOutput {
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);

var output : VertexOutput;
output.position = vec4(pos + a_particlePos, 0.0, 1.0);
output.color = vec4(
1.0 - sin(angle + 1.0) - a_particleVel.y,
pos.x * 100.0 - a_particleVel.y + 0.1,
a_particleVel.x + cos(angle + 0.5),
1.0);
return output;
}

@fragment
fn frag_main() -> @location(0) vec4<f32> {
return vec4(1.0, 1.0, 1.0, 1.0);
struct FragmentInput {
@location(4) color : vec3<f32>,
}

@fragment
fn frag_main(@location(4) color : vec4<f32>) -> @location(0) vec4<f32> {
return color;
}

0 comments on commit bc48d03

Please sign in to comment.