diff options
author | pryazha <pryadeiniv@mail.ru> | 2025-03-18 11:31:31 +0500 |
---|---|---|
committer | pryazha <pryadeiniv@mail.ru> | 2025-03-18 11:31:31 +0500 |
commit | d65ddd07a43d5ffdcf2ddf90d6f86626cf9b92d8 (patch) | |
tree | 672efce6089ec9c1103be0c1b70a28ec415eeeab /advanced_lighting/6.hdr/shaders/blinn.vert | |
parent | d64a159d05a45e75870f61c37f0defa94f03793e (diff) |
Diffstat (limited to 'advanced_lighting/6.hdr/shaders/blinn.vert')
-rw-r--r-- | advanced_lighting/6.hdr/shaders/blinn.vert | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/advanced_lighting/6.hdr/shaders/blinn.vert b/advanced_lighting/6.hdr/shaders/blinn.vert new file mode 100644 index 0000000..f08f38e --- /dev/null +++ b/advanced_lighting/6.hdr/shaders/blinn.vert @@ -0,0 +1,34 @@ +#version 330 core +layout(location = 0) in vec3 apos; +layout(location = 1) in vec3 anormal; +layout(location = 2) in vec2 atexc; + +out VS_OUT { + vec3 fpos; + vec3 fn; + vec2 texc; +} vsout; + +uniform mat4 proj; +uniform mat4 view; +uniform mat4 model; + +uniform bool invert_normals; + +void main(void) +{ + mat3 normtransf; + + vsout.fpos = vec3(model*vec4(apos, 1.0)); + + normtransf = mat3(transpose(inverse(model))); + + if (invert_normals) + vsout.fn = normtransf*(-anormal); + else + vsout.fn = normtransf*anormal; + + vsout.texc = atexc; + + gl_Position = proj*view*model*vec4(apos, 1.0); +} |