Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры по КГ.doc
Скачиваний:
5
Добавлен:
27.04.2019
Размер:
1.17 Mб
Скачать

Зеркальное отражение. Закраска методом Фонга

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

Изображения, полученные методом Фонга, получаются более реалистичными, но этот метод требует гораздо большего объема вычислений: во-первых, интерполируются три векторные компоненты, а во-вторых, высчитывается интенсивность в каждой точке.

Недостатки метода Фонга:

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

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

Текстурирование.

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

Проективное текстурирование – в этом случае растровое изображение реального объекта проецируется на плоскость. Данный подход требователен к ресурсам.

Процедурное проецирование – строиться некая функция C(x,y,z) на основании которой определяется цвет каждой конкретной точки. Метод не требователен к вычислительным ресурсам, но сложен с точки зрения построения самой функции C(x,y,z)

Проективное текстурирование

Пусть у нас есть некоторая грань, заданная в объектном пространстве точками A(Ax, A,y Az),B (Bx, By, Bz), C (Cx, Cy, Cz), растровое изображение в памяти и координаты точек на изображении соответствующие вершинам грани A(Au,Av), B(Bu,Bv), C(Cu,Cv).Требуется рассчитать цвет каждой точки внутри грани после проецирования на основании текстуры.

Процедурное текстурирование

В качестве функции C(x,y,z) выбирают некую функцию с требуемым результатом. Для придания большей реалистичности на нее накладывается шумовая функция. Шумовая функция должна отвечать следующим требованиям:

  1. Непрерывность

  2. Принимала значения в отрезке [0,1]

  3. Вела себя в некотором смысле аналогично равномерно распределенной величине.

Наиболее частый способ задания шумовых функций задание случайных величин с последующей интерполяцией.