From c772de702b844d99adf38342d929ee48dd22d21d Mon Sep 17 00:00:00 2001 From: raysan5 Date: Wed, 31 Mar 2021 19:59:23 +0200 Subject: REVIEWED: DrawMeshInstanced() matrix computations Simplified some parts and reviewed for a correct computation of matrices, considering stereo render view/projection per eye transformations --- .../resources/shaders/glsl330/base_lighting_instanced.vs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'examples/shaders/resources') diff --git a/examples/shaders/resources/shaders/glsl330/base_lighting_instanced.vs b/examples/shaders/resources/shaders/glsl330/base_lighting_instanced.vs index 5e5430b3..7b709094 100644 --- a/examples/shaders/resources/shaders/glsl330/base_lighting_instanced.vs +++ b/examples/shaders/resources/shaders/glsl330/base_lighting_instanced.vs @@ -6,7 +6,7 @@ in vec2 vertexTexCoord; in vec3 vertexNormal; in vec4 vertexColor; -layout (location = 12) in mat4 instance; +in mat4 instanceTransform; // Input uniform values uniform mat4 mvp; @@ -22,15 +22,15 @@ out vec3 fragNormal; void main() { // Send vertex attributes to fragment shader - fragPosition = vec3(instance * vec4(vertexPosition, 1.0)); + fragPosition = vec3(vec4(vertexPosition, 1.0)); fragTexCoord = vertexTexCoord; fragColor = vertexColor; - mat3 normalMatrix = transpose(inverse(mat3(instance))); - fragNormal = normalize(normalMatrix * vertexNormal); + mat3 normalMatrix = transpose(inverse(mat3(instanceTransform))); + fragNormal = normalize(normalMatrix*vertexNormal); - mat4 mvpi = mvp * instance; + mat4 mvpi = mvp*instanceTransform; // Calculate final vertex position - gl_Position = mvpi * vec4(vertexPosition, 1.0); + gl_Position = mvpi*vec4(vertexPosition, 1.0); } -- cgit v1.2.3