OpenGL зеркало преобразование задняя сторона отбрасывания
Вопрос
В OpenGL у меня есть объект, который я масштабирую на -1 вдоль оси ... это приводит к тому, что объект не отображается должным образом, потому что все передние лица теперь являются обратными лицами. Короткое отключение отключения отборки, как бы я получил этот объект для рендеринга правильно? Есть ли способ сделать это, не модифицируя текстурированные нормальные вершины, которые составляют мою модель?
Решение
Вы можете просто переключить режим Canding. Вы можете использовать glCullFace(mode)
решить, какие треугольники должны быть отброшены. Поставка параметра GL_BACK
означает, что отображаются только полигоны перед передним лицом, в то время как параметр GL_FRONT означает, что отображаются только полигоны для обратного плана. Таким образом, если ваша преобразование означает, что многоугольники «Ожоги» на самом деле находятся на самом деле, вызывая glCullFace(GL_FRONT)
должен сделать трюк.
В качестве альтернативы вы также можете контролировать, какие полигоны считаются передним / обратным планом, используя glFrontFace(dir)
, с параметром GL_CW
(по часовой стрелке) или GL_CCW
(против часовой стрелки) (по умолчанию против часовой стрелки, поэтому, если вы устанавливаете его на Clocksie Originaly Projectacing Poliding Polygons, будет считаться фронтальным фактором).