#version 330 core layout(location=0) in vec3 aPos; layout(location=1) in vec2 aTex; uniform mat4 Model; uniform mat4 View; uniform mat4 Projection; out vec2 TexCoords; out vec3 VertexWorldPos; // @note: I still do not fully understand how the FragNormal calculation works. Need to make sure I intuitively // get that void main() { gl_Position = Projection*View*Model*vec4(aPos, 1.0); VertexWorldPos = vec3(Model * vec4(aPos, 1.0)); TexCoords = aTex; };