1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#version 450
layout(set = 0, binding = 0) uniform params_Block {
float bias;
} params;
layout(set = 0, binding = 0) uniform sampler2D diffuse_tex;
layout(set = 0, binding = 2) uniform sampler2DShadow shadow_map;
layout(location = 0) in vec2 in_uv;
layout(location = 1) in vec2 in_shadow_uv;
layout(location = 0) out vec4 out__value;
void main() {
vec4 mip_color = textureLod(diffuse_tex, in_uv, params.bias);
float shadow = texture(shadow_map, vec3(in_shadow_uv, 0.5));
out__value = vec4((mip_color.rgb * shadow), mip_color.a);
}