aboutsummaryrefslogtreecommitdiffstats
path: root/assets/shaders/glsl330
diff options
context:
space:
mode:
Diffstat (limited to 'assets/shaders/glsl330')
-rw-r--r--assets/shaders/glsl330/instancing.fs20
-rw-r--r--assets/shaders/glsl330/instancing.vs31
2 files changed, 51 insertions, 0 deletions
diff --git a/assets/shaders/glsl330/instancing.fs b/assets/shaders/glsl330/instancing.fs
new file mode 100644
index 0000000..0044ac7
--- /dev/null
+++ b/assets/shaders/glsl330/instancing.fs
@@ -0,0 +1,20 @@
+#version 330 core
+
+// https://github.com/Rogeatic/raylib-instancing
+
+// Input vertex attributes (from vertex shader)
+in vec2 fragTexCoord;
+
+// Input uniform values
+uniform sampler2D texture0;
+uniform vec4 colDiffuse;
+
+// Output fragment color
+out vec4 finalColor;
+
+void main()
+{
+ // Texel color fetching from texture sampler
+ vec4 texelColor = texture(texture0, fragTexCoord);
+ finalColor = texelColor*colDiffuse;
+} \ No newline at end of file
diff --git a/assets/shaders/glsl330/instancing.vs b/assets/shaders/glsl330/instancing.vs
new file mode 100644
index 0000000..800d6fd
--- /dev/null
+++ b/assets/shaders/glsl330/instancing.vs
@@ -0,0 +1,31 @@
+#version 330 core
+
+// https://github.com/Rogeatic/raylib-instancing
+
+// Input vertex attributes
+in vec3 vertexPosition;
+in vec2 vertexTexCoord;
+
+layout (location = 12) in mat4 instance;
+
+// Input uniform values
+uniform mat4 mvp;
+uniform mat4 projection;
+uniform mat4 view;
+
+// Output vertex attributes (to fragment shader)
+out vec2 fragTexCoord;
+out vec4 fragColor;
+out vec3 fragNormal;
+
+// NOTE: Add here your custom variables
+
+void main()
+{
+ // Send vertex attributes to fragment shader
+ fragTexCoord = vertexTexCoord;
+
+ // Calculate final vertex position
+ mat4 mvpi = mvp * instance;
+ gl_Position = mvpi * vec4(vertexPosition, 1.0);
+} \ No newline at end of file