blob: 15e6833f5c53ba24a3180a391f8ac8fa1f8dc238 (
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
|
#version 330 core
layout(location = 0) in vec3 position; // Position of the vertex
layout(location = 1) in vec3 normal; // Normal of the vertex
uniform mat4 proj;
uniform mat4 view;
uniform mat4 model;
uniform mat4 inverseView;
uniform mat3 inverseTransposeModel;
out vec3 normal_cameraSpace;
out vec3 normal_worldSpace;
out vec3 camera_worldSpace;
out vec3 pos;
void main() {
normal_cameraSpace = normalize(inverse(transpose(mat3(view))) * inverseTransposeModel * normal);
camera_worldSpace = vec3(inverseView * vec4(0.f, 0.f, 0.f, 1.f));
normal_worldSpace = normal;
pos = position;
gl_Position = proj * view * model * vec4(position, 1);
}
|