summaryrefslogtreecommitdiff
path: root/assets/shaders/map.wgsl
diff options
context:
space:
mode:
authorLizzy Fleckenstein <eliasfleckenstein@web.de>2023-04-10 19:08:30 +0200
committerLizzy Fleckenstein <eliasfleckenstein@web.de>2023-04-10 19:08:30 +0200
commit5bfa731a508492ac414a5b04bd453d528777bc1a (patch)
tree358709055e691dc0f0e40ba8c62cc8cd8ed87c60 /assets/shaders/map.wgsl
parenta87186860ec602c19f0d11528bef2d5123bc7e48 (diff)
downloadmt_client-5bfa731a508492ac414a5b04bd453d528777bc1a.tar.xz
Param1 light and allfaces
Diffstat (limited to 'assets/shaders/map.wgsl')
-rw-r--r--assets/shaders/map.wgsl12
1 files changed, 11 insertions, 1 deletions
diff --git a/assets/shaders/map.wgsl b/assets/shaders/map.wgsl
index f6919a9..bb88a3f 100644
--- a/assets/shaders/map.wgsl
+++ b/assets/shaders/map.wgsl
@@ -3,11 +3,13 @@
struct VertexInput {
@location(0) pos: vec3<f32>,
@location(1) tex_coords: vec2<f32>,
+ @location(2) light: f32,
}
struct VertexOutput {
@builtin(position) pos: vec4<f32>,
@location(0) tex_coords: vec2<f32>,
+ @location(1) light: f32,
}
@group(1) @binding(0) var<uniform> view_proj: mat4x4<f32>;
@@ -20,6 +22,7 @@ fn vs_main(
var out: VertexOutput;
out.pos = view_proj * model * vec4<f32>(in.pos, 1.0);
out.tex_coords = in.tex_coords;
+ out.light = in.light;
return out;
}
@@ -30,5 +33,12 @@ fn vs_main(
@fragment
fn fs_main(in: VertexOutput) -> @location(0) vec4<f32> {
- return textureSample(atlas_texture, atlas_sampler, in.tex_coords);
+ var color = textureSample(atlas_texture, atlas_sampler, in.tex_coords);
+
+ if color.a < 0.1 {
+ discard;
+ }
+
+ color = vec4<f32>(color.rgb * in.light, color.a);
+ return color;
}