blob: 7532036be48fa287b5dfeab33b6d54f557d00822 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#version 330 core
uniform sampler2D tex;
uniform float mesh_alpha;
uniform vec3 sun_direction;
uniform vec3 sky_color;
in vec3 surface_normal;
in vec2 frag_tex_coord;
in float frag_ambient_occlusion;
in float depth;
out vec4 color;
void main() {
float brightness = dot(normalize(surface_normal), normalize(-sun_direction));
vec3 diffuse = vec3(max(brightness, 0.3));
vec4 texture_color = texture(tex, frag_tex_coord);
if (texture_color.a < 0.5) {
discard;
}
float ao = 1 - frag_ambient_occlusion / 2;
vec3 opaque_color = diffuse * texture_color.xyz * ao;
opaque_color = mix(sky_color, opaque_color, 1 - depth);
color = vec4(opaque_color, mesh_alpha);
}
|