Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л_12,13.doc
Скачиваний:
4
Добавлен:
15.09.2019
Размер:
3.59 Mб
Скачать

Лекция №12,13 Модели закраски

Существует несколько основных способов закраски многоугольников, например однотонная закраска, закраска с интерполяцией интенсивности и закраска с интерполяцией векторов нормали.

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

В методе закраски с интерполяцией интенсивности (метод Гуро) нормали в вершинах многоугольников вычисляются как результат усреднения нормалей ко всем полигональным граням, которым принадлежит данная вершина. Используя значения нормалей, вычисляют интенсивности в вершинах по той или иной модели освещения. Эти значения затем используются для билинейной интерполяции: для данной строки сканирования вначале находят значения интенсивностей на ребрах, а затем линейно интерполируют между ними при закраске вдоль строки.

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

Метод Гуро (закраска с интерполяцией интенсивности)

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

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

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

  2. Определяются нормали в вершинах. Нор­маль в вершине определяется усреднением нормалей примыкающих граней.

  3. На основе нормалей в вершинах вычисляются значения интенсивностей в вершинах согласно выбранной модели отражения света.

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

Вектор нормали в вершине равен:

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

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

Отсюда

Значения интенсивностей I1 и I2 на концах горизонтального отрезка пред­ставляют собой интерполяцию интенсивности в вершинах:

Метод Гуро быстрее метода Фонга, но с его помощью нельзя добиться некоторых световых эффектов (например, бликов). Его обычно используют в приложениях, где важна скорость, например, в авиасимуляторах. Закраска методом Фонга позволяет получить более качественные изображения, но она и обходится дороже. В методе Гуро считаются только интенсивности в вершинах многоугольников, используя функцию закраски, а затем интерполируются для пикселей внутренней области. А в методе Фонга интерполируются нормали, и функция закраски применяется к каждой точке.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]