23 lines
565 B
GLSL
23 lines
565 B
GLSL
|
|
|
||
|
|
#version 330 core
|
||
|
|
|
||
|
|
in vec4 v_normal;
|
||
|
|
in vec4 color;
|
||
|
|
uniform int render_normals_bool;
|
||
|
|
|
||
|
|
out vec4 FragColor;
|
||
|
|
|
||
|
|
const float ambient_strenght = 0.3;
|
||
|
|
const float diffuse_strenght = 0.7;
|
||
|
|
|
||
|
|
void main() {
|
||
|
|
vec3 lightDir = vec3(1.0, 0.3, 0.2);
|
||
|
|
float diff = max(dot(normalize(vec3(v_normal.x, v_normal.y, v_normal.z)), normalize(lightDir)), 0) * diffuse_strenght;
|
||
|
|
if (render_normals_bool == 1) {
|
||
|
|
FragColor = vec4(v_normal);
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
FragColor = color * (1 / 256.0) * (ambient_strenght + diff);
|
||
|
|
}
|
||
|
|
}
|