game/data/shaders/pbrVertex.glsl

28 lines
491 B
GLSL

#version 330 core
layout (location = 0) in vec3 aPos;
layout (location = 1) in vec3 aNormal;
layout (location = 2) in vec2 aTexCoord;
uniform mat4 MVP;
uniform mat4 Model;
out vec2 ourTexCoord;
out vec3 ourNormCoord;
//Pbr
out vec3 WorldPos;
//Normals
out mat4 TBN;
void main()
{
gl_Position = MVP * Model * vec4(aPos, 1.0);
ourNormCoord = aNormal;
ourTexCoord = aTexCoord;
TBN = Model;
// Calculate position of fragment
WorldPos = vec3(Model * vec4(aPos, 1.0));
};