Citation :
Le plus propre est assurément de t'assurer que les modèles ont les bonnes normales...
|
Oui ca aurai ete le plus simple mais le probleme c que je fait un filer de choix de model pour des utilisateur non experimenter qui peuvent charger nimporte quel model. Donc je ne peu pas controler les model d'entrer.
Citation :
Sinon, tout dépend de l'usage; tu peux fournir un paramètre flipNormal dans ton code de chargement, et inverser les normales à la mano si ce flag est activé. Tu peux peut-être détecter les modèles dont les normales sont inversées par programmation?
|
Cette methode j'ai deja essayer de retourner les normals ( enfin avec osg et non flipnormal) mais le resultat est le meme.
C'est a dire que je ne peu pas définir une normal comme dans le mauvais sens puisque tout dépend de la position de l'obs ;'(.
ce qui fait que j'ai fait une methode automatique qui test les normals sur tout les intersection entre le vecteur de vue et mon model pour ensuite retourner les normals qui sont orienter dans la mauvaise direction.
Pb depend du point de vue (donc corrige que partielement l'objet) et de plus tres tres long puisque il calcul une intersection par pixel donc sur une fenetre 400 300 (voir plus resize) ca fait un certain nombre de calcul.
Citation :
Si aucune de ces solutions ne peut convenir, alors il faudra que tu désactives GL_CULL_FACE, au détriment du temps de rendu...
|
Cette option est deja active (avec posibilite de la désactiver ou non) mais le résultat ne va pas puisque si je désactive le culling je me retrouve avec des faces noires o milieu de certain model du au calcul d'eclairage OpenGL. D'ou mon idée de partir sur les shader pour parer a ce probleme.