5 layout(location= 0) in
vec3 position;
6 layout(location= 2) in
vec3 normal;
8 uniform mat4 mvpMatrix;
9 uniform mat4 modelMatrix;
16 gl_Position= mvpMatrix *
vec4(position, 1);
18 p=
vec3(modelMatrix *
vec4(position, 1));
19 n= mat3(modelMatrix) * normal;
23 #ifdef FRAGMENT_SHADER
27 uniform mat4 viewInvMatrix;
33 const float PI= 3.14159265359;
35 out
vec4 fragment_color;
49 vec3 color= emission * fr * cos_theta;
51 fragment_color=
vec4(color, 1);
Point max(const Point &a, const Point &b)
renvoie la plus grande composante de chaque point. x, y, z= max(a.x, b.x), max(a.y,...
float dot(const Vector &u, const Vector &v)
renvoie le produit scalaire de 2 vecteurs.
Vector normalize(const Vector &v)
renvoie un vecteur unitaire / longueur == 1.
vecteur generique, utilitaire.
vecteur generique 4d, ou 3d homogene, utilitaire.