diff options
Diffstat (limited to 'shaders/phong.frag.glsl')
-rw-r--r-- | shaders/phong.frag.glsl | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/shaders/phong.frag.glsl b/shaders/phong.frag.glsl new file mode 100644 index 0000000..a1a0645 --- /dev/null +++ b/shaders/phong.frag.glsl @@ -0,0 +1,20 @@ +#version 330 core + +in vec3 o_normal; +in vec3 o_frag_pos; + +out vec4 fragColour; + +uniform vec3 light_pos; + +void main() { + vec3 ambient = vec3(0.2, 0.2, 0.2); + vec3 light_colour = vec3(1.0, 1.0, 1.0); + vec3 object_colour = vec3(0.5, 0.2, 0.8); + vec3 norm = normalize(o_normal); + vec3 light_dir = normalize(light_pos - o_frag_pos); + float diff = max(dot(norm, light_dir), 0.0); + vec3 diffuse = diff * light_colour; + vec3 result = (ambient + diffuse) * object_colour; + fragColour = vec4(result, 1.0); +} |