Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
сарта зачет.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
60.2 Кб
Скачать

Деформация изображения при изменении размера рисунка - один из недостатков (растровой графики)

Параметр mode определяет тип примитива, который задается внутри и может принимать следующие значения:

GL_POINTS

Каждая вершина задает координаты некоторой точки.

GL_LINES

Каждая отдельная пара вершин определяет отрезок; если задано нечетное число вершин, то последняя вершина игнорируется.

GL_LINE_STRIP

Каждая следующая вершина задает отрезок вместе с предыдущей.

GL_LINE_LOOP

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

GL_TRIANGLES

Каждая отдельная тройка вершин определяет треугольник; если задано не кратное трем число вершин, то последние вершины игнорируются.

GL_TRIANGLE_STRIP

Каждая следующая вершина задает треугольник вместе с двумя предыдущими.

GL_TRIANGLE_FAN

Треугольники задаются первой и каждой следующей парой вершин (пары не пересекаются).

GL_QUADS

Каждая отдельная четверка вершин определяет четырехугольник; если задано не кратное четырем число вершин, то последние вершины игнорируются.

GL_QUAD_STRIP

Четырехугольник с номером n определяется вершинами с номерами 2n-1, 2n, 2n+2, 2n+1.

GL_POLYGON

Последовательно задаются вершины выпуклого многоугольника.

GetTimerResolution выполняет действие определяет реальную дискретность таймера

CreateSurface задание первичной поверхности.

GetDC Считывает контекст дисплея для выполнения опеpаций интеpфейса GDI в области пользователя окна.

CreateDC Создает контекст устpойства для устpойства .

ReleaseDC освобождает ресурсы,которые были заняты при использовании GetDC для получения контекста устройства.

SetPolyFillMode Устанавливает pежим заполнения многоугольника, используемый функциями GDI, в котоpом используется алгоpитм вычисления внутpенних точек многоугольника.

6.7.2. Закраска методом Гуро

Метод основан на определении освещенности грани в ее вершинах с последующей билинейной (би=2) интерполяцией результатов на всю грань. Пусть проекция некоторой грани на экран является выпуклым 4-угольником. Пусть интенсивности вершин определены (например, по формуле (3)) и равны . Пусть W  произвольная точка

грани. Проведем через нее горизонталь. Пусть P и Q  точки пере-

с ечения горизонтали с границами проекции грани. Будем считать,

ч то интенсивность на отрезке PQ меняется линейно, т.е. W

, P Q

где ,

Для определения интенсивности в точках P и Q снова применяется линейная интерполяция (отсюда термин билинейная). Считаем, что вдоль каждого из ребер границы интенсивность меняется линейно. Тогда интенсивность в точках P и Q:

,

Метод Гуро обеспечивает непрерывное изменение интенсивности при переходе от одной грани к другой. Еще одно преимущество  рисование грани как набора горизонталей, что хорошо вписывается в аппаратуру. Интенсивность последующего пиксела отрезка отличается от интенсивности предыдущего на величину, постоянную для данного отрезка. При переходе от отрезка к отрезку интенсивности на концах также меняются линейно. Тем не менее, метод не обеспечивает достаточно гладкое изменение интенсивности.