diff options
author | talha <talha@talhaamir.xyz> | 2024-03-31 18:22:14 +0500 |
---|---|---|
committer | talha <talha@talhaamir.xyz> | 2024-03-31 18:22:14 +0500 |
commit | 02077305a5b63fcf7242ac909d8caed5cc3cf18f (patch) | |
tree | 9940db9786f9496e3a3a872955591c21b433632f /source/lessons/models/shaders/model/model.vs.glsl | |
parent | 82de1ef9f3d7fd9268af7de92bfc929f48f5b3bb (diff) |
Completed lighting, Model loading
Diffstat (limited to 'source/lessons/models/shaders/model/model.vs.glsl')
-rw-r--r-- | source/lessons/models/shaders/model/model.vs.glsl | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/source/lessons/models/shaders/model/model.vs.glsl b/source/lessons/models/shaders/model/model.vs.glsl new file mode 100644 index 0000000..da394cf --- /dev/null +++ b/source/lessons/models/shaders/model/model.vs.glsl @@ -0,0 +1,25 @@ +#version 330 core +layout(location=0) in vec3 aPos; +layout(location=1) in vec3 aNormal; +layout(location=2) in vec2 aTex; + +uniform mat4 Model; +uniform mat4 View; +uniform mat4 Projection; + +out vec2 TexCoords; +out vec3 VertexWorldPos; +out vec3 FragNormal; + +// @note: I still do not fully understand how the FragNormal calculation works. Need to make sure I intuitively +// get that + +void main() { + gl_Position = Projection*View*Model*vec4(aPos, 1.0); + + VertexWorldPos = vec3(Model * vec4(aPos, 1.0)); + FragNormal = mat3(transpose(inverse(Model))) * aNormal; + FragNormal = normalize(FragNormal); + TexCoords = aTex; +}; + |