summaryrefslogtreecommitdiff
path: root/source/shaders/light_subject.vs.glsl
diff options
context:
space:
mode:
authortalha <talha@talhaamir.xyz>2024-03-13 22:54:43 +0500
committertalha <talha@talhaamir.xyz>2024-03-13 22:54:43 +0500
commit2a1557aa2b4d406c92703f60f2d34283fed5fcfb (patch)
treeed0690693f97a21a8d8495d9e7154cc490f23a05 /source/shaders/light_subject.vs.glsl
parent20f2625f9832504661774b8a9f6661188fd97716 (diff)
Did some work on materials, refactored a few things
Diffstat (limited to 'source/shaders/light_subject.vs.glsl')
-rw-r--r--source/shaders/light_subject.vs.glsl18
1 files changed, 18 insertions, 0 deletions
diff --git a/source/shaders/light_subject.vs.glsl b/source/shaders/light_subject.vs.glsl
new file mode 100644
index 0000000..327e896
--- /dev/null
+++ b/source/shaders/light_subject.vs.glsl
@@ -0,0 +1,18 @@
+#version 330 core
+
+layout(location = 0) in vec3 position;
+layout(location = 1) in vec3 normal;
+
+uniform mat4 Model;
+uniform mat4 View;
+uniform mat4 Projection;
+
+out vec3 fragNormal;
+out vec3 worldPosition;
+
+void main() {
+ gl_Position = Projection * View * Model * vec4(position, 1.0);
+ worldPosition = vec3(Model * vec4(position, 1.0));
+ fragNormal = mat3(transpose(inverse(Model))) * normal;
+ fragNormal = normalize(normal);
+}