2014-11-05 6 views
0

В настоящее время я рисую некоторую геометрию с помощью «современного OpenGL» с использованием QUAD и QUADSTRIP примитивов.Артефакты при рисовании квадрациклов

Я столкнулся со странными артефактами. Мои квадраты действительно тесселируются с видимыми треугольниками. Надеюсь, ты увидишь, как линии вокруг квадроциклов.

enter image description here

Любые идеи?

ответ

3

Виноват, скорее всего, в том, что вы включили плавное сглаживание полигонов (по-прежнему поддерживается в профиле совместимости), т. Е. Сделали glEnable(GL_POLYGON_SMOOTH) + некоторые функции смешивания. Артефакты, подобные тем, которые вы наблюдаете, являются причиной, никто не потрудился использовать , что метод сглаживания.

Однако вполне может быть, что вы включили сглаживание в настройках графического драйвера, и используемый метод AA не играет хорошо с вашей программой.

+0

отлично! Я просто удаляю glEnable (GL_POLYGON_SMOOTH), и теперь он работает как шарм :) спасибо! – frankie

+0

@frankie: Обратите внимание, что если вы хотите сглаживание, вы должны использовать multisampling FSAA. См. Https://www.opengl.org/wiki/Multisampling – datenwolf

4

Современный OpenGL (3.1+ Core Profile) не поддерживает QUADS или QUADSTRIPS. Проверьте, например, here для разрешенных примитивных типов.

+0

Но почему я все еще могу их нарисовать? – frankie

+2

@frankie legacy и обратная совместимость –

+1

@frankie: Скорее всего, у вас есть профиль совместимости. – datenwolf

Смежные вопросы