2023-02-09 21:43:38 +01:00
|
|
|
#version 330 core
|
|
|
|
|
|
|
|
|
2023-02-09 19:18:34 +01:00
|
|
|
layout (location = 0) in vec3 aPos;
|
2023-02-09 21:43:38 +01:00
|
|
|
layout (location = 1) in vec2 aTexCoord;
|
|
|
|
layout (location = 2) in vec3 aNormal;
|
2023-02-09 19:18:34 +01:00
|
|
|
layout (location = 3) in vec3 aTangent;
|
|
|
|
layout (location = 4) in vec3 aBitangent;
|
|
|
|
|
2023-02-09 21:43:38 +01:00
|
|
|
out vec2 TexCoord;
|
|
|
|
out vec3 FragPos;
|
|
|
|
out vec3 Normal;
|
|
|
|
out vec3 Tangent;
|
|
|
|
out vec3 Bitangent;
|
2023-02-09 19:18:34 +01:00
|
|
|
|
|
|
|
uniform mat4 model;
|
2023-02-09 21:43:38 +01:00
|
|
|
uniform mat4 view;
|
|
|
|
uniform mat4 projection;
|
2023-02-09 19:18:34 +01:00
|
|
|
|
|
|
|
void main()
|
|
|
|
{
|
2023-02-09 21:43:38 +01:00
|
|
|
TexCoord = aTexCoord;
|
|
|
|
FragPos = vec3(model * vec4(aPos, 1.0));
|
|
|
|
Normal = mat3(transpose(inverse(model))) * aNormal;
|
|
|
|
Tangent = mat3(transpose(inverse(model))) * aTangent;
|
|
|
|
Bitangent = mat3(transpose(inverse(model))) * aBitangent;
|
2023-02-09 19:18:34 +01:00
|
|
|
|
2023-02-09 21:43:38 +01:00
|
|
|
gl_Position = projection * view * vec4(FragPos, 1.0);
|
|
|
|
}
|