bonjour, alors voilà, en 3d, il y a un truc qui n'est pas clair...

voilà quelques soucis dont j'aimerais être éclairci.

1) dans le vertex shader, je retrouve des fois
vWorldVertex = ModelMatrix * vec4(Vertex * ModelScale, 1.0);
vec4 viewVertex = ViewMatrix * vWorldVertex;
vViewVec = normalize(-viewVertex.xyz);

- vViewVec si je comprends bien est le vecteur entre la le vertex (dans l'espace vue) et la camera dans l'espace vue (il le multiplie par -1 car la position est inversée lors de la multiplication par la matrice vue)

c'est correct ?

- et un gars le corrige en lui disant que :

vViewVec = normalize(vec3CameraWorldPos - vWorldVertex);

là si je comprends bien, il calcule le vecteur entre la caméra et le vertex sans l'avoir mis dans l'espace vue.

c'est correct?

2) au final on arrive dans le fragment shader,et là si je comprends bien il faut mettre toutes les coordonnées (positions vertex, lumière, normales, ...) dans le même espace soit l'espace vue soit l'espace originel (avant de l'avoir multiplié par la vue)

c'est bien ça?

- pourquoi certains calcul avec les normales (par ex) se font sans que la normal soit convertit dans cet espace alors ?



merci, pour vos réponses