/* vertex shader */ in vec3 aPosition; in vec3 aNormal; in vec3 aTangent; in vec2 aTexCoord; uniform mat4 uModel; uniform mat4 uView; uniform mat4 uProj; out vec3 vObjectPos; out vec4 vViewSpaceNormal; out vec2 vTexCoord; void main() { vec4 aPos4 = vec4(aPosition, 1.0); vObjectPos = aPosition; vViewSpaceNormal = uModel * uView * vec4(aNormal, 0); vTexCoord = aTexCoord; gl_Position = uProj * uView * uModel * aPos4; } /* fragment shader */ in vec3 vObjectPos; in vec4 vViewSpaceNormal; in vec2 vTexCoord; uniform sampler2D uAlbedoMap; out vec4 fColor; void main() { fColor = texture(uAlbedoMap, vTexCoord); }