comme devoir, nous sommes en train d'écrire un logiciel de pixellisation. J'ai remarqué que ma mise en mémoire tampon ne fonctionnait pas aussi bien qu'elle le devrait, donc j'essaye de la déboguer en l'affichant à l'écran. (Le noir est proche, le blanc est loin).Mise en œuvre d'un tampon z dans un logiciel de pixellisation
Cependant, j'obtiens des valeurs particulières pour le z par vertex. C'est ce que j'utilise pour transformer les points:
float Camera::GetZToPoint(Vec3 a_Point)
{
Vec3 camera_new = (m_MatRotation * a_Point) - m_Position;
return (HALFSCREEN/tanf(_RadToDeg(60.f * 0.5f))/camera_new.z);
}
m_MatRotation
est une matrice 3x3. La multiplier par un vecteur renvoie un vecteur transformé. J'obtiens des valeurs maximum et minimum entre 0 et x, où x est un nombre apparemment aléatoire.
Est-ce que je fais cette transformation non? Si oui, comment puis-je normaliser mes valeurs Z de sorte qu'il se situe entre deux points de réglage?
Merci d'avance.