summaryrefslogtreecommitdiff
path: root/advanced_opengl/6.cubemaps/shaders/reflection.vert
diff options
context:
space:
mode:
Diffstat (limited to 'advanced_opengl/6.cubemaps/shaders/reflection.vert')
-rw-r--r--advanced_opengl/6.cubemaps/shaders/reflection.vert18
1 files changed, 18 insertions, 0 deletions
diff --git a/advanced_opengl/6.cubemaps/shaders/reflection.vert b/advanced_opengl/6.cubemaps/shaders/reflection.vert
new file mode 100644
index 0000000..d7070f2
--- /dev/null
+++ b/advanced_opengl/6.cubemaps/shaders/reflection.vert
@@ -0,0 +1,18 @@
+#version 330 core
+
+layout(location = 0) in vec3 apos;
+layout(location = 1) in vec3 anormal;
+
+out vec3 pos;
+out vec3 normal;
+
+uniform mat4 model;
+uniform mat4 view;
+uniform mat4 proj;
+
+void main(void)
+{
+ pos = vec3(model*vec4(apos, 1.0));
+ normal = mat3(transpose(inverse(model)))*anormal;
+ gl_Position = proj*view*model*vec4(apos, 1.0);
+}