Когда объекты из CallList пересекаются вблизи плоскости, я получаю мерцание ..., что я могу сделать?OpenGl И мерцание
Im using OpenGL и SDL.
Да, это двойной буфер.
Когда объекты из CallList пересекаются вблизи плоскости, я получаю мерцание ..., что я могу сделать?OpenGl И мерцание
Im using OpenGL и SDL.
Да, это двойной буфер.
Это звучит, как вы получаете Z-бой.
«Z-борьба - это явление в 3D-рендеринге, которое возникает, когда два или более примитивов имеют одинаковые значения в z-буфере и особенно распространены с копланарными полигонами. Эффект вызывает визуализацию псевдослучайных пикселей с помощью цвет одного полигона или недетерминированным образом, изменяющийся по мере оживления сцены, заставляя один полигон «выиграть» тест z, затем другой и т. д. ». (От wikipedia)
Вы можете получить больше информации о проблеме в OpenGL FAQ.
glPolygonOffset может помочь, но вы также можете столкнуться с проблемой. У Тома Форсайт есть хорошее объяснение в его FAQ. Примечание. Это говорит о ZBIAS, но это только эквивалент DirectX.
Попробуйте поставить рядом плоскость отсечения немного дальше: , например, с gluPerspective -> третий параметр zNear http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/glu/perspective.html
Ах, ты имел в виду около плоскости. :)
Ну ... другое дело, когда рисунок многоугольники в одной и той же плоскости использовать glPolygonOffset
Из описания
glPolygonOffset is useful for rendering hidden-line images,
for applying decals to surfaces, and for rendering solids
with highlighted edges.
Проблема заключалась в том, что моя функция вращения имела некоторые ошибки с плавающей запятой, которые прикрутили мою матрицу model_view.
Никто из вас не мог догадаться об этом, извините за трату вашего времени.
Хотя я не думаю, что перемещение ближней плоскости должно рассматриваться даже как решение любой проблемы, обычно что-то не так, потому что openGL поддерживает пересечение многоугольников с ближайшей плоскостью.