T.M. SoftStudio

feci quod potui, faciant meliora potentes

Метод polygonOffset



void polygonOffset(GLfloat factor, GLfloat units)


Чтобы выделить края объекта, можно заполнить объект одним цветом, а затем нарисовать края объекта другим цветом. Однако, так как линии и заполненные многоугольники не растеризуются одинаково, значения глубины для точек на линии, как правило, не совпадают со значениями глубины для краев многоугольника. Поэтому выделенные линии могут затеняться совпадающими с ними полигонами. Такое затенение может быть устранено с помощью смещения полигона.

Данный метод добавляет смещение перед тестом глубины.

Смещение вычисляется по формуле:

o = m * factor + r * units

где m – максимальный наклон глубины полигона, а r – константа, специфичная для реализации.