construction d'une "LookAt matrix" avec un vecteur up

construction d'une "LookAt matrix" avec un vecteur up - C++ - Programmation

Marsh Posté le 30-05-2010 à 20:50:59    

Bonsoir,
 
Au risque de passer pour un naze, j'ai toujours un peu de mal à comprendre comment déterminer le vecteur "up" quand on construit une matrice de vue.
Prenons par exemple XMMatrixLookAtLH( XMVECTOR EyePos, XMVECTOR FocusPos, XMVECTOR UpDir ). Supposons que la direction de la vue est vers le bas ou quasiment, ben en fait le vecteur "up" correct c'est plutôt le vecteur "left", et inversement.
 
N.B C'est pour générer la shadow map d'une lumière directionnelle, je n'ai pas d'info "yaw, pitch, roll" ni vecteur "right" pour cette source, donc je ne sais pas comment certains parmi vous calculeraient "proprement" ce vecteur.
 
Merci!

Reply

Marsh Posté le 30-05-2010 à 20:50:59   

Reply

Marsh Posté le 31-05-2010 à 12:19:21    

ta shadow map est carrée ?
 
Sinon pour générer un Up aléatoire correct, il faut juste faire un produit vectoriel d'un vecteur aléatoire avec le vecteur focuspos<-eyepos et renormaliser.


Message édité par bjone le 31-05-2010 à 12:20:12
Reply

Marsh Posté le 01-06-2010 à 23:01:53    

Oui elle est carrée, j'utilise une projection orthographique et l'algorithme le plus naïf qui soit pour démarrer. Pourquoi cette question?
 
D'accord, merci pour l'info!

Reply

Marsh Posté le 09-06-2010 à 10:47:28    

oui m'enfin aléatoire.. ca va changer a chaque regénération de la shadow map et grésiller partout du fait du downsampling. (shadow map petite sur surface grande).
donc il faudrait plutot fixer une reference pour le vecteur up, namely: (0, 1, 0).
et ensuite re-orthogonaliser. si tu regardes EXACTEMENT vers le bas, t'es dans le caca et faut faire un pti cas particulier (genre tu fixes up=left comme tu dis)


---------------
http://projets.6mablog.com/
Reply

Marsh Posté le 09-06-2010 à 14:37:35    

<mode mauvaise foi>
Ça dépends si tu fais de la cohérence temporelle via resampling dans l'ancienne shadowmap avec l'ancienne matrice, ça peut aider à smoother les ombres :D
</mode mauvaise foi>
 

Reply

Marsh Posté le 09-06-2010 à 17:13:57    

interressante technique :D


---------------
http://projets.6mablog.com/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed