OpenGL et Z-Buffer

pubthi Messages postés 1 Date d'inscription jeudi 2 juin 2005 Statut Membre Dernière intervention 16 juin 2005 - 16 juin 2005 à 08:46
cs_Gimli Messages postés 21 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 5 janvier 2008 - 16 juin 2005 à 20:29
Bonjour à tous


Je découvre OpenGL et le Z-Buffer et voilà mon problème.


J'ai créé un cube tournant sur lui même et dont toutes les faces ont des couleurs différentes (le truc classique). (Delphi6)
Losque que j'active le Z-buffer pour supprimer les surfaces cachées, çà ne fait qu'inverser l'ordre d'affichage des faces.
Est ce normal ou ai je oublié quelque chose?


Merci pour vos réponses


Thierry

2 réponses

neodelphi Messages postés 442 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 11 août 2008
16 juin 2005 à 10:40
As-tu vérifier que les normales de tes faces sont bien orientées ?
Sinon esssaye de fouiller du coté du Culling (dans directX c'est un
truc qui dit dans quel sens interpreter les normales).

neodelphi
0
cs_Gimli Messages postés 21 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 5 janvier 2008
16 juin 2005 à 20:29
Salut, j'ai pensé à ton problème et j'ai essayé de trouver comment ce bug pouvait arriver:
normalement dans ton code tu dois avoir une ligne de ce genre:
gluPerspective(45, ClientWidth / ClientHeight, 0.1, 1000.0);
et en effet, je me suis aperçu que si tu inverses les nombres 0.1 et 1000.0 (qui indiquent le plan le plus proche et le plan le plus loin), tu obtiens une inversion entre les face en avant et celles cachées.ça peut être la source de ton bug, mais à mon avis c'est peu probable.
Pour le faceCulling (ce dont parle neodelphi) obtenu avec la commande glCullFace, si tu ne t'en sers pas ce ne peut pas être la source de ton bug car il n'est pas activé par défaut.
@+
0
Rejoignez-nous