protot/data/shaders/vs_default.glsl

32 lines
801 B
Plaintext
Raw Normal View History

#version 150 core
#extension GL_ARB_explicit_attrib_location : require
in vec4 inCoord;
in vec3 inNormal;
in vec2 inUV;
in vec4 inColor;
2018-03-11 14:16:23 +01:00
uniform mat4 uModelMatrix;
uniform mat4 uViewMatrix;
uniform mat4 uProjectionMatrix;
2018-03-15 11:01:55 +01:00
uniform mat4 uLightSpaceMatrix;
2018-03-11 17:30:56 +01:00
uniform mat3 uNormalMatrix;
uniform vec3 uLightDirection;
2018-03-11 14:16:23 +01:00
uniform vec3 uViewPosition;
2018-03-11 14:16:23 +01:00
out vec3 ioFragPosition;
2018-03-15 11:01:55 +01:00
out vec3 ioFragNormal;
out vec2 ioFragTexCoords;
smooth out vec4 ioFragColor;
out vec4 ioFragPosLightSpace;
void main() {
2018-03-11 14:16:23 +01:00
ioFragPosition = (uModelMatrix * inCoord).xyz;
2018-03-15 11:54:00 +01:00
ioFragNormal = transpose(inverse(mat3(uModelMatrix))) * inNormal;
2018-03-15 11:01:55 +01:00
ioFragTexCoords = inUV;
ioFragColor = inColor;
ioFragPosLightSpace = uLightSpaceMatrix * vec4(ioFragPosition, 1.0);
gl_Position = uProjectionMatrix * uViewMatrix * uModelMatrix * inCoord;
}