Bonjour, j'essaie de développer un "micro moteur 3D" qui gère l'illumination par le calcul des normales aux faces!
J'ai pour l'instant créé un cube que j'éclaire depuis la position de la "caméra" puis je le fait tourner sur les différents axes 3D !!
Je travaille dans un repère où la profondeur est en Z, l'horizon sur X, et l'altitude sur Y.
J'utilise une technique plutôt "old-school" pour les rotations (déplacement du cube à l'origine , rotation puis replacement du cube à sa position initiale)
Les faces ne s'affichent pas correctement après une rotation sur Y(par exemple) :les faces perpendiculaires à l'axe de rotation et définit selon le sens horlogique sont au bout de 180° comme à "l'envers" hors elles devraient être visible!! J'ai bien tenté de les redéfinir selon si le cube est de face ou de dos, mais si je tourne selon un autre axe le problème est amplifié et le cube ne ressemble plus à un cube !!
Ma question est donc existe-t-il une solution pour définir l'ordre des sommets de chaque face en fonction de la rotation et ce par un calcul dont je n'aurai aucune idée ??
Je précise que j'ai calculé les normales et que j'ai tout normaliser !(<=1)
Mon niveau en maths est assez moyen ...Merci !
Partager