Bonsoir,
Je me demande qu'elle est l'intérêt d'utiliser gluLokAt avec un vecteur up qui n'est pas perpendiculaire au vecteur de visée.
D'ailleurs je ne vois pas que ça change quelquechose.
ex:
Code:gluLookAt(0, 0, 1, 0, 0, 0, 0, 1, 1);
Version imprimable
Bonsoir,
Je me demande qu'elle est l'intérêt d'utiliser gluLokAt avec un vecteur up qui n'est pas perpendiculaire au vecteur de visée.
D'ailleurs je ne vois pas que ça change quelquechose.
ex:
Code:gluLookAt(0, 0, 1, 0, 0, 0, 0, 1, 1);
Salut !
Peut-être veux-tu dire un vecteur différent de (0, 1, 0).Citation:
Je me demande qu'elle est l'intérêt d'utiliser gluLokAt avec un vecteur up qui n'est pas perpendiculaire au vecteur de visée.
Et bien à tourner la caméra par exemple, en lui mettant la tête en bas :
(0, -1, 0).
Sinon qu'il soit perpendiculaire ou pas je ne crois pas que ça change grand chose. Je vérifierai dans le red book d'OpenGL.
@+
ca sert pour les jeux quand par exemple le personnage est au coin d'un mur et penche la tete pour voir les ennemi, sans se metter en danger
Ou encore pour un avion, vaisseau spatial, etc...
Vous parlez de l'inclinaison du vecteur up par rapport à Y là non?
Ca j'ai bien compris ;).
Moi je parles de son orthogonalité avec le vecteur de visée...
La specs de glu dit qu'il ne doit pas être parallèle au vecteur de visée :
Mais elle n'explique pas vraiment à quoi ça sert qu'il ne soit pas perpendiculaire. L'explication qu'il donne sur up je ne la comprends pas vraiment :Citation:
The UP vector must not be parallel to the line of sight from the eye point to the reference point.
Je pourrais essayer d'approfondir les matrices générées mais j'ai un peu la flemme.Citation:
Similarly, the direction described by the UP vector projected onto the viewing plane is mapped to the positive y axis so that it points upward in the viewport.
Ca signifie que ton vecteur UP, une fois projeté, ce sera ton Y à l'écran.Citation:
L'explication qu'il donne sur up je ne la comprends pas vraiment
Quant au fait de ne pas être orthogonal au vecteur de visée, ça n'a a priori pas d'importance, j'imagine qu'il est recalculé pour l'être de toute façon, de manière à toujours avoir une base orthogonale pour le repère caméra.
Ou peut-être pas :lol:
Ok donc cette explication ne parles effectiment pas de ce qui se passe si la perpendicularité n'est pas respectée.
C'est la conclusion à laquelle je suis arrivé, mais j'aurais aimé avoir une certitude ;).Citation:
Quant au fait de ne pas être orthogonal au vecteur de visée, ça n'a a priori pas d'importance, j'imagine qu'il est recalculé pour l'être de toute façon, de manière à toujours avoir une base orthogonale pour le repère caméra.
Ou peut-être pas
Je viens de lire la doc, elle dit clairement que le vecteur up est recalculé pour être orthogonal aux deux autres.
Là tu vois qu'ils calculent le troisième axe s orthogonal à f (la visée) et UP' (le vecteur up normalisé), puis recalculent le vecteur up (appelé u) pour être orthogonal à s et f.Citation:
Finally, let s = f x UP', and u = s x f.
Heum ... sinon la matrice n'est pas une matrice d'orientation correct, n'est pas lineaire. Le triedre de Fresnet
Ok j'avais pas bien lu :(... merci.
Sinon que tu dis tu à propos du repère de Fresnet Groove?