nicotwo
Messages postés34Date d'inscriptionsamedi 14 juin 2008StatutMembreDernière intervention 5 février 2010
-
21 août 2009 à 11:28
nicotwo
Messages postés34Date d'inscriptionsamedi 14 juin 2008StatutMembreDernière intervention 5 février 2010
-
23 août 2009 à 23:41
Bonjour,
Je suis actuellement en train d'apprendre à faire de la 3D avec directX 10 à l'aide des tutoriels du SDK. Étant au tutoriel 4, j'ai fait une expérience et il se trouve que lorsque j'inverse 2 par 2 l'ordre des vertices (cf tuto 4), les faces sont opaques à l'intérieur. Pourriez-vous donc m'expliquer de quelle façons directX colore un côté d'une face plutôt qu'une autre.
cs_juju12
Messages postés966Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 4 mars 20104 21 août 2009 à 17:36
Toutes les primitives sont des triangles; la coloration se fait du côté où, regardant par au-dessus et parcourant les points dans l'ordre où ils apparaissent dans le buffer, on tourne dans le sens anti-horaire (me semble).
mezaya
Messages postés202Date d'inscriptiondimanche 18 mai 2003StatutMembreDernière intervention 6 mars 2010 23 août 2009 à 11:53
Pour info, on appelle ça le culling.
techniquement pour un triangle abc, directx fait un dot3( ab, ac ) si c'est positif il l'affiche sinon il supprime le triangle. on peut modifier pour afficher le culling dans un sens, dans l'autre ou dans les 2 (dans ce cas, aucun triangle ne sera "cullé" ).
nicotwo
Messages postés34Date d'inscriptionsamedi 14 juin 2008StatutMembreDernière intervention 5 février 2010 21 août 2009 à 21:34
Merci pour ta réponse : en effet, si on tourne dans le sens horaire, ca explique pourquoi le fait d'inverser les points change le côté de la face colorisée. Reste à savoir si c'est le sens horaire (indirect) ou direct (je peux me débrouiller pour cela. Merci encore.