#version 450 layout(location = 0) in vec2 tex_coords; layout(location = 1) in vec4 normal; layout(set = 1, binding = 0) uniform texture2D t_diffuse; layout(set = 1, binding = 1) uniform sampler s_diffuse; layout(location = 0) out vec4 out_color; // layout(group = 0, binding = 0) out texture2D; void main() { float ambient = 0.2; vec3 light_dir = normalize(vec3(0.5, 1.0, 0.5)); float diffuse = clamp(dot(normalize(vec3(normal.x, normal.y, normal.z)), light_dir), 0.0, 1.0); float brightness = ambient + (1.0 - ambient) * diffuse; // out_color = vec4(normal.x, normal.y, normal.z, 1.0); // out_color = vec3(1.0,.0.0) out_color = texture(sampler2D(t_diffuse, s_diffuse), tex_coords); out_color.r = clamp(out_color.r * 0.6 * brightness, 0.0, 1.0); out_color.g = clamp(out_color.g * 0.6 * brightness, 0.0, 1.0); out_color.b = clamp(out_color.b * 0.9 * brightness, 0.0, 1.0); }