--- /dev/null
+#version 450
+
+layout(binding = 0) uniform matrix_state {
+ mat4 mviewproj;
+} m;
+
+layout(location = 1) in vec3 attr_pos;
+layout(location = 2) in vec3 attr_normal;
+
+layout(location = 0) out vec3 normal;
+
+void main()
+{
+ gl_Position = m.mviewproj * vec4(attr_pos, 1.0);
+ normal = attr_normal;
+}