summaryrefslogtreecommitdiff
path: root/geometry_shader/shaders/normals.vs
diff options
context:
space:
mode:
authorpryazha <pryadeiniv@mail.ru>2025-01-19 17:33:44 +0500
committerpryazha <pryadeiniv@mail.ru>2025-01-19 17:33:44 +0500
commitbd49bd525f4c6c6c15c4142bf42d1dd38be6fc16 (patch)
tree9e69f473c34b53e9e57d8af1873c39698bf5c80e /geometry_shader/shaders/normals.vs
initial commit
Diffstat (limited to 'geometry_shader/shaders/normals.vs')
-rw-r--r--geometry_shader/shaders/normals.vs18
1 files changed, 18 insertions, 0 deletions
diff --git a/geometry_shader/shaders/normals.vs b/geometry_shader/shaders/normals.vs
new file mode 100644
index 0000000..3b728e5
--- /dev/null
+++ b/geometry_shader/shaders/normals.vs
@@ -0,0 +1,18 @@
+#version 330 core
+layout(location = 0) in vec3 apos;
+layout(location = 1) in vec3 anormal;
+
+out VS_OUT {
+ vec3 normal;
+} vs_out;
+
+uniform mat4 view;
+uniform mat4 model;
+
+void
+main(void)
+{
+ mat3 normal_matrix = mat3(transpose(inverse(view*model)));
+ vs_out.normal = normalize(normal_matrix*anormal);
+ gl_Position = view*model*vec4(apos, 1.0);
+}