aboutsummaryrefslogtreecommitdiff
path: root/shaders/basic.vert
diff options
context:
space:
mode:
Diffstat (limited to 'shaders/basic.vert')
-rw-r--r--shaders/basic.vert27
1 files changed, 27 insertions, 0 deletions
diff --git a/shaders/basic.vert b/shaders/basic.vert
new file mode 100644
index 0000000..e1abeb5
--- /dev/null
+++ b/shaders/basic.vert
@@ -0,0 +1,27 @@
+#version 150
+#extension GL_ARB_explicit_attrib_location : enable
+#extension GL_ARB_explicit_uniform_location : enable
+
+layout(location = 0) in vec3 in_position ;
+layout(location = 2) in vec4 in_color ;
+layout(location = 1) in vec3 in_normal ;
+layout(location = 3) in vec2 in_texcoord ;
+
+layout(location = 4) uniform mat4 pjMatrix ;
+layout(location = 5) uniform mat4 mvMatrix ;
+layout(location = 7) uniform mat3 normalMatrix ;
+
+out vec2 texcoord ;
+out vec4 position ;
+out vec3 normal ;
+
+out float texture_blend[8] ;
+
+void main() {
+ gl_Position = pjMatrix * (position = mvMatrix * vec4(in_position,1.0)) ;
+ texcoord = in_texcoord ;
+ normal = normalMatrix * in_normal ;
+ for ( int i = 0 ; i < 8 ; ++ i )
+ texture_blend[i] = 0 ;
+ texture_blend[int(clamp(round(in_color.a),0,8))] = 1.0 ;
+}