Поделиться через


Функция glPolygonMode

Функция glPolygonMode выбирает режим растеризации многоугольников.

Синтаксис

void WINAPI glPolygonMode(
   GLenum face,
   GLenum mode
);

Параметры

Лицо

Многоугольников, к которым применяется режим . Должен быть GL_FRONT для фронтовых многоугольников, GL_BACK для тыловых многоугольников или GL_FRONT_AND_BACK для фронтовых и задних многоугольников.

mode

Способ растеризации многоугольников. Следующие режимы определены и могут быть указаны в режиме . Значение по умолчанию — GL_FILL для фронтовых и задних многоугольников.

Значение Значение
GL_POINT
Вершины многоугольников, помеченные как начало границы, рисуются в виде точек. Атрибуты точек, такие как GL_POINT_SIZE и GL_POINT_SMOOTH, управляют растеризацией точек. Атрибуты растеризации многоугольников, отличные от GL_POLYGON_MODE, не оказывают влияния.
GL_LINE
Границы многоугольника рисуются в виде сегментов линий. Они рассматриваются как соединенные сегменты линии для стиплинга линий; Счетчик и шаблон прогона строки не сбрасываются между сегментами (см. glLineStipple). Атрибуты строки, такие как GL_LINE_WIDTH и GL_LINE_SMOOTH, управляют растеризацией строк. Атрибуты растеризации многоугольников, отличные от GL_POLYGON_MODE, не оказывают влияния.
GL_FILL
Внутренняя часть многоугольника заполнена. Атрибуты многоугольников, такие как GL_POLYGON_STIPPLE и GL_POLYGON_SMOOTH, управляют растеризацией многоугольника.

Возвращаемое значение

Эта функция не возвращает значение.

Коды ошибок

Следующие коды ошибок могут быть получены функцией glGetError .

Имя Значение
GL_INVALID_ENUM
Не было принято ни лицо , ни режим .
GL_INVALID_OPERATION
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd.

Комментарии

Функция glPolygonMode управляет интерпретацией многоугольников для растеризации. Параметр face описывает, к какому режиму многоугольников применяется: к фронту многоугольников (GL_FRONT), к задним многоугольникам (GL_BACK) или к обоим (GL_FRONT_AND_BACK). Режим многоугольников влияет только на окончательную растеризацию многоугольников. В частности, вершины многоугольника освещаются, а многоугольник обрезается и, возможно, отбраковывается перед применением этих режимов.

Чтобы нарисовать поверхность с заполненными многоугольниками с обратной стороной и контурными многоугольниками спереди, вызовите

glPolygonMode(GL_FRONT, GL_LINE);

Вершины помечаются как граничные или неграничные с флагом ребер. Флаги ребер создаются внутри OpenGL при разложении многоугольников, и их можно задать явным образом с помощью glEdgeFlag.

Следующая функция извлекает сведения, связанные с glPolygonMode:

glGet с аргументом GL_POLYGON_MODE

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Gl.h
Библиотека
Opengl32.lib
DLL
Opengl32.dll

См. также раздел

glBegin

glEdgeFlag

glEnd

glLineStipple

glLineWidth

glPointSize

glPolygonStipple