From 93347346e8bd8f7412ae03a0858dd307a1df2e0d Mon Sep 17 00:00:00 2001 From: Micha White Date: Thu, 20 Oct 2022 20:39:44 -0400 Subject: Moved files into workspace --- shaders/sprite.wgsl | 62 ----------------------------------------------------- 1 file changed, 62 deletions(-) delete mode 100644 shaders/sprite.wgsl (limited to 'shaders/sprite.wgsl') diff --git a/shaders/sprite.wgsl b/shaders/sprite.wgsl deleted file mode 100644 index 60b5773..0000000 --- a/shaders/sprite.wgsl +++ /dev/null @@ -1,62 +0,0 @@ - -@group(0) @binding(0) -var camera: mat4x4; - -struct VertexInput { - @location(0) position: vec2 -} - -struct InstanceInput { - @location(1) position: vec2, - @location(2) size: vec2, - @location(3) texture_coordinates: vec2, - @location(4) texture_size: vec2, - @location(5) texture_atlas_index: u32, - @location(6) rotation: f32, - @location(7) z_index: f32, -} - -struct VertexOutput { - @builtin(position) clip_position: vec4, - @location(0) texture_coordinates: vec2, - @location(1) texture_atlas_index: u32 -} - -@vertex -fn vs_main(model: VertexInput, instance: InstanceInput) -> VertexOutput { - var out: VertexOutput; - - // rotate the sprite - let rotation = -instance.rotation; - let a = vec2(cos(rotation), sin(rotation)); - let b = vec2(-a[1], a[0]); - let rotation = mat2x2(a, b); - let rotated = rotation * model.position; - - // scale the sprite - let scaled = rotated * instance.size; - - // move the sprite - let position2d = scaled + instance.position; - - // camera stuff - let position4d = vec4(position2d, instance.z_index, 1.0); - let position = camera * position4d; - - let tex_coords = vec2(model.position[0] + 0.5, 1.0 - (model.position[1] + 0.5)); - - out.clip_position = position; - out.texture_atlas_index = instance.texture_atlas_index; - out.texture_coordinates = tex_coords * instance.texture_size + instance.texture_coordinates; - return out; -} - -@group(1) @binding(0) -var t_diffuse: texture_2d; -@group(1) @binding(1) -var s_diffuse: sampler; - -@fragment -fn fs_main(in: VertexOutput) -> @location(0) vec4 { - return textureSample(t_diffuse, s_diffuse, in.texture_coordinates); -} \ No newline at end of file -- cgit v1.2.3