Skip to content
Snippets Groups Projects
Commit f4b76b1f authored by Mathias Paulin's avatar Mathias Paulin :speech_balloon:
Browse files

Fix glsl link error due to in/out explicit location

parent bb2214c3
No related branches found
No related tags found
No related merge requests found
Pipeline #195 passed
#include "TransformStructs.glsl" #include "TransformStructs.glsl"
layout (location = 0) in vec3 in_position; layout (location = 0) in vec3 in_position;
layout (location = 1) in vec3 in_normal;
layout (location = 2) in vec3 in_tangent;
layout (location = 3) in vec3 in_bitangent;
layout (location = 4) in vec3 in_texcoord; layout (location = 4) in vec3 in_texcoord;
layout (location = 5) in vec4 in_color;
uniform Transform transform; uniform Transform transform;
layout (location = 0) out vec3 out_position;
layout (location = 1) out vec3 out_normal;
layout (location = 2) out vec3 out_texcoord; layout (location = 2) out vec3 out_texcoord;
layout (location = 3) out vec3 out_vertexcolor;
layout (location = 4) out vec3 out_tangent;
void main() void main()
{ {
mat4 mvp = transform.proj * transform.view * transform.model; mat4 mvp = transform.proj * transform.view * transform.model;
gl_Position = mvp * vec4(in_position, 1.0); gl_Position = mvp * vec4(in_position, 1.0);
vec4 pos = transform.model * vec4(in_position, 1.0);
pos /= pos.w;
vec3 normal = mat3(transform.worldNormal) * in_normal;
vec3 tangent = mat3(transform.model) * in_tangent;
vec3 eye = -transform.view[3].xyz * mat3(transform.view);
out_position = vec3(pos);
out_texcoord = in_texcoord; out_texcoord = in_texcoord;
out_normal = normal;
out_tangent = tangent;
out_vertexcolor = in_color.rgb;
} }
...@@ -5,12 +5,14 @@ layout (location = 1) in vec3 in_normal; ...@@ -5,12 +5,14 @@ layout (location = 1) in vec3 in_normal;
layout (location = 2) in vec3 in_tangent; layout (location = 2) in vec3 in_tangent;
layout (location = 3) in vec3 in_bitangent; layout (location = 3) in vec3 in_bitangent;
layout (location = 4) in vec3 in_texcoord; layout (location = 4) in vec3 in_texcoord;
layout (location = 5) in vec4 in_color;
uniform Transform transform; uniform Transform transform;
layout (location = 0) out vec3 out_position;// Position in World Space layout (location = 0) out vec3 out_position;// Position in World Space
layout (location = 1) out vec3 out_normal; layout (location = 1) out vec3 out_normal;
layout (location = 2) out vec3 out_texcoord;// Used in case of normal mapping layout (location = 2) out vec3 out_texcoord;// Used in case of normal mapping
layout (location = 3) out vec3 out_vertexcolor;
layout (location = 4) out vec3 out_tangent; layout (location = 4) out vec3 out_tangent;
layout (location = 5) out vec3 out_viewVector; layout (location = 5) out vec3 out_viewVector;
...@@ -32,4 +34,5 @@ void main() ...@@ -32,4 +34,5 @@ void main()
out_normal = normal; out_normal = normal;
out_tangent = tangent; out_tangent = tangent;
out_viewVector = vec3(eye - out_position); out_viewVector = vec3(eye - out_position);
out_vertexcolor = in_color.rgb;
} }
...@@ -6,12 +6,14 @@ layout (location = 1) in vec3 in_normal; ...@@ -6,12 +6,14 @@ layout (location = 1) in vec3 in_normal;
layout (location = 2) in vec3 in_tangent; layout (location = 2) in vec3 in_tangent;
layout (location = 3) in vec3 in_bitangent; layout (location = 3) in vec3 in_bitangent;
layout (location = 4) in vec3 in_texcoord; layout (location = 4) in vec3 in_texcoord;
layout (location = 5) in vec4 in_color;
uniform Transform transform; uniform Transform transform;
layout (location = 0) out vec3 out_position;// Position in World Space layout (location = 0) out vec3 out_position;// Position in World Space
layout (location = 1) out vec3 out_normal; layout (location = 1) out vec3 out_normal;
layout (location = 2) out vec3 out_texcoord;// Used in case of normal mapping layout (location = 2) out vec3 out_texcoord;// Used in case of normal mapping
layout (location = 3) out vec3 out_vertexcolor;
layout (location = 4) out vec3 out_tangent; layout (location = 4) out vec3 out_tangent;
layout (location = 5) out vec3 out_viewVector; layout (location = 5) out vec3 out_viewVector;
layout (location = 6) out vec3 out_lightVector; layout (location = 6) out vec3 out_lightVector;
...@@ -36,4 +38,5 @@ void main() ...@@ -36,4 +38,5 @@ void main()
out_tangent = tangent; out_tangent = tangent;
out_viewVector = vec3(eye - out_position); out_viewVector = vec3(eye - out_position);
out_lightVector = getLightDirection(light, out_position); out_lightVector = getLightDirection(light, out_position);
out_vertexcolor = in_color.rgb;
} }
...@@ -6,12 +6,14 @@ layout (location = 1) in vec3 in_normal; ...@@ -6,12 +6,14 @@ layout (location = 1) in vec3 in_normal;
layout (location = 2) in vec3 in_tangent; layout (location = 2) in vec3 in_tangent;
layout (location = 3) in vec3 in_bitangent; layout (location = 3) in vec3 in_bitangent;
layout (location = 4) in vec3 in_texcoord; layout (location = 4) in vec3 in_texcoord;
layout (location = 5) in vec4 in_color;
uniform Transform transform; uniform Transform transform;
layout (location = 0) out vec3 out_position;// Position in World Space layout (location = 0) out vec3 out_position;// Position in World Space
layout (location = 1) out vec3 out_normal; layout (location = 1) out vec3 out_normal;
layout (location = 2) out vec3 out_texcoord;// Used in case of normal mapping layout (location = 2) out vec3 out_texcoord;// Used in case of normal mapping
layout (location = 3) out vec3 out_vertexcolor;
layout (location = 4) out vec3 out_tangent; layout (location = 4) out vec3 out_tangent;
layout (location = 5) out vec3 out_viewVector; layout (location = 5) out vec3 out_viewVector;
layout (location = 6) out vec3 out_lightVector; layout (location = 6) out vec3 out_lightVector;
...@@ -36,4 +38,5 @@ void main() ...@@ -36,4 +38,5 @@ void main()
out_tangent = tangent; out_tangent = tangent;
out_viewVector = vec3(eye - out_position); out_viewVector = vec3(eye - out_position);
out_lightVector = getLightDirection(light, out_position); out_lightVector = getLightDirection(light, out_position);
out_vertexcolor = in_color.rgb;
} }
...@@ -5,12 +5,14 @@ layout (location = 1) in vec3 in_normal; ...@@ -5,12 +5,14 @@ layout (location = 1) in vec3 in_normal;
layout (location = 2) in vec3 in_tangent; layout (location = 2) in vec3 in_tangent;
layout (location = 3) in vec3 in_bitangent; layout (location = 3) in vec3 in_bitangent;
layout (location = 4) in vec3 in_texcoord; layout (location = 4) in vec3 in_texcoord;
layout (location = 5) in vec4 in_color;
uniform Transform transform; uniform Transform transform;
layout (location = 0) out vec3 out_position; layout (location = 0) out vec3 out_position;
layout (location = 1) out vec3 out_normal; layout (location = 1) out vec3 out_normal;
layout (location = 2) out vec3 out_texcoord; layout (location = 2) out vec3 out_texcoord;
layout (location = 3) out vec3 out_vertexcolor;
layout (location = 4) out vec3 out_tangent; layout (location = 4) out vec3 out_tangent;
...@@ -31,5 +33,5 @@ void main() ...@@ -31,5 +33,5 @@ void main()
out_texcoord = in_texcoord; out_texcoord = in_texcoord;
out_normal = normal; out_normal = normal;
out_tangent = tangent; out_tangent = tangent;
out_vertexcolor = in_color.rgb;
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment