OpenGL eclairage [Résolu]

Signaler
Messages postés
546
Date d'inscription
vendredi 13 février 2004
Statut
Membre
Dernière intervention
9 janvier 2008
-
Messages postés
546
Date d'inscription
vendredi 13 février 2004
Statut
Membre
Dernière intervention
9 janvier 2008
-
bonjour,

J'aimerais savoir comment dessiner un objet en 3D avec openGL en appliquant des groupes de lissages a l'objet.

C a dire que je voudrais que certains groupe de poly soient lissés par un eclairage de type gouraud ainsi on ne verrait pas les arretes de tous les polys d'un groupe mais par contre on verrait les arretes des polys delimitant le groupe.

j'espere m'etre bien fait comprendre! Enfn les amateurs de 3dsmax ou maya devraient comprendre de koi je parle.

2 réponses

Messages postés
442
Date d'inscription
jeudi 4 avril 2002
Statut
Membre
Dernière intervention
11 août 2008

Utilisateur de 3dsmax je comprend ton problème

Je n'ai jamais fait d'openGl mais du directX, donc je pense que cela
fonctionne de la même façon. Dans directX il faut pour dessiner un
objet 3d une liste de points constituant des triangles (vertexBuffer).
Les points sont d'un format qui peut varier selon ce que tu as besoin
de faire. Dans ton cas ce format contiendrai :



XYZ : la position 3d du point

Couleur : un entier représentant la couleur du triangle au point courant (dispensable)

Normal : un vecteur 3d qui dit l'orientation de ta normale.



Tout doit se jouer dans se vecteur normal car c'est avec celui-ci que
l'éclairage est calculé. Par exemple dans une sphere, les normales aux
points sont calculées en fonction des faces autour du point, ce qui cré
un effet gouraud. Si tu veut la même sphere avec un éclairage flat il y
aura plusieurs normales pour chaque point (en fait si deux faces se
touchent les points sont en commun et peuvent avoir des normales
diférentes). Bref, si tu exporte correctement ton model maya ou 3dsmax,
tu ne devrait pas avoir grand chose a faire, juste a dire à oGl de
prendre les normales de ton mesh, si tu récupère juste les coordonnées
des triangles oGl sera incapable de distinguer les groupes de lissage.


neodelphi
Messages postés
546
Date d'inscription
vendredi 13 février 2004
Statut
Membre
Dernière intervention
9 janvier 2008
1
Merci bcp pour ta reponse!

En effet je mesuis un peu cassé la tete sur ce coup la! puisque que le format ASE (format a partir duquel je charge mes objet 3D) tout est deja prevu! les normales sont calculées de sorte que l'on obtienne les groupes de lissages ciomme tu disais