blob: f08f38ea3c2a3297561ffeff8022ea4c0249fbbb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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);
}
|