Je dois créer un vecteur ascendant lorsque la caméra regarde n'importe quel angle (sauf directement vers le bas ou vers le haut car le vecteur ascendant serait perpendiculaire à l'axe y).Moyen efficace de calculer le vecteur ascendant pour gluLookAt qui pointe le plus l'axe y?
Le vecteur ascendant doit être perpendiculaire à la ligne de visée du parcours. Lorsque la ligne de visée n'est pas le long de l'axe des ordonnées, vous pouvez imaginer un cercle autour de l'œil et la ligne de visée où le vecteur haut pourrait être. Sur ce cercle, il y aura un point qui ira plus haut sur l'axe des ordonnées que n'importe quel autre point. C'est ce que je veux que mon up-vector soit.
Je suis sûr que je peux élaborer une solution, mais je suppose que les gens l'auraient fait beaucoup de fois auparavant et je veux avoir la solution la plus efficace. Mon appareil photo, lorsque vous l'utilisez au moins, ne regarde pas directement vers le bas ou vers le haut sur l'axe des y, donc il n'y a pas de problème là-bas.
Je pensais que cela causait des problèmes avec la perspective n'est-ce pas? Cela ne fait aucune différence? Merci beaucoup pour la réponse. –
Encore une fois, si vous regardez la page de manuel gluLookAt, ils vous disent exactement ce qu'ils font. Ils perpendiculisent le vecteur ascendant que vous fournissez, comme le décrit lisarc. (Et, en passant, si vous êtes reconnaissant, vous pouvez voter pour vos répondeurs, et accepter l'un d'entre eux.) –
Il n'a pas dit cela sur la documentation que j'ai regardée. J'ai vu de nombreuses pages disant que le vecteur haut doit être perpendiculaire mais merci de l'avoir éclairci. Je sais comment accepter une réponse, oui. J'espérais une réponse avant d'accepter la vôtre. –