blob: ed6079f57466f4b0eba0a2b1e1f0774b33471d76 (
plain) (
blame)
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
|
#version 330 core
layout(location = 0) in vec3 vertexPosition_modelspace;
layout(location = 1) in vec3 vertexNormal;
layout(location = 2) in vec2 vertexUV;
out vec2 UV;
out vec3 normIn;
out vec3 camDirIn;
out vec3 lightDirIn;
uniform mat4 MVP;
uniform mat4 worldMat;
const vec3 Tuning_LightPos = vec3(2, 1, -1);
void main()
{
gl_Position = MVP * vec4(vertexPosition_modelspace,1);
UV = vertexUV;
normIn = vertexNormal;
mat3 invWorldRot = transpose(mat3(worldMat[0].xyz, worldMat[1].xyz, worldMat[2].xyz));
vec3 worldPos = (worldMat * vec4(vertexPosition_modelspace,1)).xyz;
camDirIn = invWorldRot * (vec3(2,0,0) - worldPos);
lightDirIn = invWorldRot * (Tuning_LightPos - worldPos);
}
|