2020-06-04 17:17:38 -07:00
|
|
|
#version 330
|
|
|
|
|
2020-06-08 15:06:22 -07:00
|
|
|
uniform sampler2D LightTexture;
|
|
|
|
uniform sampler2D DarkTexture;
|
2020-06-04 17:17:38 -07:00
|
|
|
uniform vec3 light_source_position;
|
|
|
|
|
|
|
|
in vec3 xyz_coords;
|
|
|
|
in vec3 v_normal;
|
|
|
|
in vec2 v_im_coords;
|
|
|
|
in float v_opacity;
|
|
|
|
in float v_gloss;
|
2020-06-06 16:55:56 -07:00
|
|
|
in float v_shadow;
|
2020-06-04 17:17:38 -07:00
|
|
|
|
|
|
|
out vec4 frag_color;
|
|
|
|
|
|
|
|
#INSERT add_light.glsl
|
|
|
|
|
|
|
|
void main() {
|
2020-06-08 15:06:22 -07:00
|
|
|
vec4 light_color = texture(LightTexture, v_im_coords);
|
|
|
|
vec4 dark_color = texture(DarkTexture, v_im_coords);
|
|
|
|
float dp = dot(
|
|
|
|
normalize(light_source_position - xyz_coords),
|
|
|
|
normalize(v_normal)
|
|
|
|
);
|
|
|
|
float alpha = smoothstep(-0.1, 0.1, dp);
|
|
|
|
vec4 color = mix(dark_color, light_color, alpha);
|
|
|
|
|
2020-06-06 16:55:56 -07:00
|
|
|
frag_color = add_light(
|
2020-06-08 15:06:22 -07:00
|
|
|
color,
|
2020-06-06 16:55:56 -07:00
|
|
|
xyz_coords,
|
|
|
|
normalize(v_normal),
|
|
|
|
light_source_position,
|
|
|
|
v_gloss,
|
|
|
|
v_shadow
|
|
|
|
);
|
2020-06-04 17:17:38 -07:00
|
|
|
frag_color.a = v_opacity;
|
|
|
|
}
|