summaryrefslogtreecommitdiff
path: root/shaders
diff options
context:
space:
mode:
Diffstat (limited to 'shaders')
-rw-r--r--shaders/sprite.wgsl13
1 files changed, 11 insertions, 2 deletions
diff --git a/shaders/sprite.wgsl b/shaders/sprite.wgsl
index 22225f7..61944a1 100644
--- a/shaders/sprite.wgsl
+++ b/shaders/sprite.wgsl
@@ -42,13 +42,22 @@ fn vs_main(model: VertexInput, instance: InstanceInput) -> VertexOutput {
let position4d = vec4<f32>(position2d, 0.0, 1.0);
let position = camera * position4d;
+ let tex_coords = vec2<f32>(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 = (model.position + 0.5) * instance.texture_size + instance.texture_coordinates;
+ out.texture_coordinates = tex_coords * instance.texture_size + instance.texture_coordinates;
return out;
}
+@group(1) @binding(0)
+var t_diffuse: texture_2d<f32>;
+@group(1) @binding(1)
+var s_diffuse: sampler;
+
@fragment
fn fs_main(in: VertexOutput) -> @location(0) vec4<f32> {
- return vec4<f32>(1.0, 1.0, 1.0, 0.0);
+ //return vec4<f32>(1.0, 1.0, 1.0, 0.0);
+ return textureSample(t_diffuse, s_diffuse, in.texture_coordinates);
+ //return textureSample(t_diffuse, s_diffuse, );
} \ No newline at end of file