Opengl Miroir transformer backface culling
Question
Dans openGL, j'ai un objet que j'échelle par -1 le long d'un axe ... ce résultat dans l'objet ne le rendu correctement parce que toutes les faces avant sont maintenant face arrière. Court de désactiver l'abattage, comment pourrais-je obtenir cet objet pour rendre droit? Est-il possible de le faire sans modifier les sommets normaux texture qui composent mon modèle?
La solution
Vous pouvez simplement changer le mode d'abattage. Vous pouvez utiliser glCullFace(mode)
pour décider quels triangles doivent être réformées. La fourniture d'un paramètre de moyens de GL_BACK
qui sont rendus polygones uniquement orientés vers l'avant, tandis qu'un paramètre de moyens GL_FRONT qui sont rendus polygones uniquement face masquée. Donc, si vos moyens de transformation que la « face masquée » polygones sont en fait frontfacing, appelant glCullFace(GL_FRONT)
devrait faire l'affaire.
Comme alternative, vous pouvez également contrôler les polygones sont considérés comme avant / face masquée à l'aide glFrontFace(dir)
, avec un paramètre de GL_CW
(sens horaire) ou GL_CCW
(à gauche) (valeur par défaut est anti-horaire, donc si vous réglez sur les polygones de clocksie face masquée originaly serait considérée comme frontfacing).