diff options
Diffstat (limited to 'source/lessons/lighting/shaders/light_subject.vs.glsl')
-rw-r--r-- | source/lessons/lighting/shaders/light_subject.vs.glsl | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/source/lessons/lighting/shaders/light_subject.vs.glsl b/source/lessons/lighting/shaders/light_subject.vs.glsl new file mode 100644 index 0000000..49e58d8 --- /dev/null +++ b/source/lessons/lighting/shaders/light_subject.vs.glsl @@ -0,0 +1,21 @@ +#version 330 core + +layout(location = 0) in vec3 position; +layout(location = 1) in vec3 normal; +layout(location = 2) in vec2 inTexCoords; + +uniform mat4 Model; +uniform mat4 View; +uniform mat4 Projection; + +out vec3 fragNormal; +out vec3 worldPosition; +out vec2 texCoords; + +void main() { + gl_Position = Projection * View * Model * vec4(position, 1.0); + worldPosition = vec3(Model * vec4(position, 1.0)); + fragNormal = mat3(transpose(inverse(Model))) * normal; + fragNormal = normalize(normal); + texCoords = inTexCoords; +} |