aboutsummaryrefslogtreecommitdiffstats
path: root/shaders/phong.frag.glsl
diff options
context:
space:
mode:
Diffstat (limited to 'shaders/phong.frag.glsl')
-rw-r--r--shaders/phong.frag.glsl20
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);
+}