-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathv_simplest.glsl
35 lines (29 loc) · 891 Bytes
/
v_simplest.glsl
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
35
#version 330
//Zmienne jednorodne
uniform mat4 P;
uniform mat4 V;
uniform mat4 M;
uniform float reflectMin;
uniform float reflectMax;
//Atrybuty
in vec4 vertex; //wspolrzedne wierzcholka w przestrzeni modelu
in vec4 normal; //wektor normalny w przestrzeni modelu
in vec2 texCoord0;
//Zmienne interpolowane
out vec4 ic;
out vec4 l;
out vec4 n;
out vec4 v;
out vec2 iTexCoord0;
out float iReflectMin;
out float iReflectMax;
void main(void) {
vec4 lp = vec4(10000, 10000, 10000, 1); //przestrzeń świata
l = normalize(V * lp - V*M*vertex); //wektor do światła w przestrzeni oka
v = normalize(vec4(0, 0, 0, 1) - V * M * vertex); //wektor do obserwatora w przestrzeni oka
n = normalize(V * M * normal); //wektor normalny w przestrzeni oka
iTexCoord0 = texCoord0;
iReflectMin = reflectMin;
iReflectMax = reflectMax;
gl_Position = P * V * M * vertex;
}