summary refs log tree commit diff stats
path: root/shaders/final.vertex
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);
}