From e5acfb329827802fe2259f91701dc8762c2573b6 Mon Sep 17 00:00:00 2001 From: nathan Date: Fri, 8 Aug 2025 12:48:10 -0600 Subject: Mesh instancing test working --- assets/shaders/glsl330/instancing.fs | 20 ++++++++++++++++++++ assets/shaders/glsl330/instancing.vs | 31 +++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 assets/shaders/glsl330/instancing.fs create mode 100644 assets/shaders/glsl330/instancing.vs (limited to 'assets/shaders/glsl330') 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 -- cgit v1.2.3