Hello,
J'aimerais reproduire le code de cette fonction :
gluLookAt(position.X, position.Y, position.Z, view.X, view.Y, view.Z, up.X, up.Y, up.Z);
Voici comment j'ai fait :
Je me suis inspiré de ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 CVector3<float> f = view - position; f.normalize(); up.normalize(); CVector3<float> s = f.crossProduct(up); CVector3<float> u = s.crossProduct(f); CMatrix4 M( s[0], s[1], s[2], 0, u[0], u[1], u[2], 0, -f[0], -f[1], -f[2], 0, 0, 0, 0, 1); glMultMatrixf((float *)M.transpose()); glTranslatef(-position.X, -position.Y, -position.Z);
http://pyopengl.sourceforge.net/docu...LookAt.3G.html
A un certain moment ils disent : "Then normalize as follows :" puis il donne une formule que je ne comprend pas bien. Est-ce que ça veut tout simplement dire que je doit normaliser mon vecteur pour qu'il ait une longueur de 1 ?
Et comme vous vous en douté, mon code ne fonctionne pas. Il ne me donne pas le même résultat qu'avec gluLookAt.
Merci d'avance...
Partager