Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Инженерка.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
5.69 Mб
Скачать

6.2 Метод Гуро

Этот метод предназначен для создания иллюзии гладкой криволинейной поверхности, которая описана в виде многогранников или полигональной сетки с плоскими гранями. Ес­ли каждая плоская грань имеет один постоянный цвет, который определен в соответствии с учетом отражения, то разные цвета соседних граней очень заметны, и поверхность выгля­дит именно как многогранник. Казалось, этот дефект можно замаскировать за счет увеличе­ния количества граней при аппроксимации поверхности. Но зрение человека имеет способ­ность подчеркивать перепады яркости на границах смежных граней - такой эффект назы­вается эффектом полос Маха. Вследствие этого, для создания иллюзии гладкости нужно намного увеличить количество граней, что приводит к существенному замедлению визуа­лизации - чем больше граней, тем меньше скорость рисования объектов.

Метод Гуро основан на идее закрашивания каждой плоской грани не одним цветом, а плавно изменяющимися оттенками, которые вычисляются путем интерполяции цветов приле­гающих граней. Закрашивание граней по методу Гуро осуществляется в четыре этапа.

  • Вычисляются нормали к каждой грани.

  • Определяются нормали в вершинах. Нормаль в вершине определяется усреднением нормалей прилегающих граней (рис. 6.4).

Рис. 6.4. Нормаль в вершине a

На основе нормалей в вершинах вычисляются значе­ния интенсивностей в вершинах в соответствии с вы­бранной моделью отражения света. Закрашиваются полигоны граней цветом, который со­ответствует линейной интерполяции значений интен­сивности в вершинах.

Вектор нормали в вершине (а) равняется

Определение интерполированных значений интенсивности отраженного света в каждой точке грани (и, следовательно, цвет каждого пиксела) удобно выполнять во время цикла за­полнения полигона. Рассмотрим заполнение контура грани горизонталями в экранных ко­ординатах (рис. 6.5).

Рис. 6.5. Заполнение полигона грани

Интерполированная интенсивность I в точке (X, У) определяется, исходя из пропорции

откуда

I = I1 +

Значение интенсивности I1 и I2 на концах горизонтального отрезка вычислим путем интерполяции интенсивности в вершинах:

,

или:

I1 = Ib +

I2 = Ib +

6.3 Метод Фонга

Аналогичен методу Гуро, но при использовании метода Фонга для определения цвета в каждой точке интерполируются не интенсивности отраженного света, а векторы нормалей.

  • Определяются нормали к граням.

  • По нормалям к граням определяются нормали в вершинах. В каждой точке закрашивае­мой грани определяется интерполированный вектор нормали.

  • Цвет каждой точки грани вычисляется в соответствии с направлением интерполирован­ного вектора нормали и согласно выбранной модели отражения света.

Метод Фонга сложнее метода Гуро. Для каждой точки (пиксела) поверхности необходи­мо выполнять намного больше вычислительных операций. Тем не менее, он дает значи­тельно лучшие результаты, в особенности при имитации зеркальных поверхностей.

6.4. Имитация микрорельефа

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

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

Рассмотрим один из популярных в настоящее время методов рельефного текстурирования - DOT3. Согласно этому методу, каждый тексел текстуры хранит коор­динаты вектора нормали для соответствующей точки поверхности (рис. 6.6).

Почему лучше использовать карту нормалей, а не само изображение в виде текстуры? Потому что, это дает возможность создавать иллюзию игры света и тени при смене ракурса показа и возможном движении источников света, и даже при деформациях поверхности. Обычная текстура это обеспечить не в состоянии - она представляет изображение, сделан­ное только для одного ракурса показа и фиксированного положения источников света.