Приведите пример, когда метод упорядочения и расщепления граней для сцены, состоящей из п граней, приводит к 0(п2) граням.

(

Глава 11

ПРОСТЕЙШИЕ МЕТОДЫ РЕНДЕРИНГА ПОЛИГОНАЛЬНЫХ МОДЕЛЕЙ

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

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

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

1 = Ка1а+Ка{п,1) (11.1)

ИЛИ

1 = Ка1а+К</{п,1)+К3(п,к)р. (11.2)

Получающееся при этом изображение носит ярко выраженный полигональный характер - сразу видно, что модель состоит из отдельных плоских граней. Это связано с тем, что если рассматривать освещенность вдоль поверхности какого-либо объекта, то она претерпевает разрывы на границах граней (фактически освещенность является кусочно-постоянной функцией).

Более высокого уровня реалистичности можно добиться, если воспользоваться методом, обеспечивающим непрерывность освещенности вдоль границ объектов. Именно такой метод и рассматривается ниже.

11.2. Метод Гуро Метод Гуро обеспечивает непрерывность освещенности за счет использования билинейной интерполяции.

Пусть задана плоская грань У|У2г;з (рис. 11.1). Найдем значение освещенности в каждой ее вершине, используя формулу (11.1) или (11.2).

Обозначим получившиеся значения через ///?/?.

Рисуя грань ууу2у? построчно, будем находить значения освещенности в концах каждого горизонтального отрезка путем линейной интерполяции значений вдоль ребер. Так, освещенность в точке А (рис. 11.1) вычисляется по следующей формуле Ау\

/(л) = /,(1-/)+/2М

у{у2

11. Простейшие методы рендеринга полигональных моделей


⇐ Предыдущая| |Следующая ⇒