Add solid shader and light cube thing
[opengl.git] / fragment.glsl
1 #version 330
2 in vec4 color;
3 in vec3 normal;
4 in vec3 fragPos;
5 uniform vec3 lightPos;
6 uniform vec3 viewPos;
7 out vec4 FragColor;
8
9 void main() {
10         float ambient = 0.1;
11         float specularStrength = 0.5;
12         vec3 lightDir = normalize(fragPos - lightPos);
13         float diffuse = max(0, dot(normal, lightDir));
14
15         vec3 viewDir = normalize(fragPos - viewPos);
16         vec3 reflectDir = reflect(-lightDir, normal);
17         float specular = pow(max(0, dot(viewDir, reflectDir)), 128);
18
19         FragColor = (ambient + diffuse + specular) * color;
20 }