Страницы

Поиск по вопросам

пятница, 7 февраля 2020 г.

Метод рендеринга Гуро, формулы

#алгоритм #графика


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



Поясните пожалуйста что это за переменные. И что значит освещенность в данном контексте,
как это связать с цветом? Или есть какой-то учебник совсем для чайников ? 
    


Ответы

Ответ 1



Прежде чем вдаваться в физический смысл формул - необходимо разобраться в трёх компонентах света - ambient, diffuse и specular. по приведённым вами формулам: Ia - ambient - фоновая мощность света, иначе говоря этот тот свет который материал воспринимает без рассеивания и зеркального отражения. Является постоянной величиной и не зависит от позиции ни объекта ни источника света. Ka - ambient - показывает степень материала воспринимать фоновый свет. Kd - diffuse (рассеивающая) составляющая материала - показывает степень материала воспринимать рассеивающий свет - тот свет который в зависимости от ориентации (нормали) поверхности и направления света рассеивается во все стороны равномерно. (n, l) - скалярное произведение векторов n - нормали к касательной плоскости к поверхности и l - вектора идущего из источника света в произвольную точку на изображении - при cos(n, l) == 1 произведение Kd * (n, l) даст Kd что будет означать максимальную яркость диффузной компоненты материала в этой точке, и при cos(n, l) = 0 наоборот, максимальную темноту соответствующего пикселя (или точки). Ks - specular составляющая материала - свойство материала воспринимать зеркальный свет (например сталь отражает свет с неким блеском). (v, r)^p - скалярное произведение между вектором отражённым от вектора света и видовым вектором (вектор идущий из позиции камеры в точку), в степени коеффициента фонга (p) - чем больше эта степень тем острее будет отражаться зеркальный свет - и аналогично с диффузным источником света когда угол между этими векторами 0 тоесть cos 0 == 1 зеркальное освещение достигает своего максимума (иначе говоря видовой вектор совпадает с вектором отражающий свет) и минимума когда угол прямой или больше прямого cos pi/2 == 0. p.s. специально не привожу вариант cos(n, h)^p который в вашем учебнике, так как обычно зеркальное отражение света зависит от направления взгляда v и отражённого от света вектора r, а там не ясно что имеется ввиду под векторами n и h. С помощью формул 11.1 и 11.2 вычисляется конечный цвет пикселя как сумма всех составляющих - в первом случае с учётом только эмбиентной и диффузных компонент, во втором с учётом всех трёх. Важно заметить, что модель Гуро вычисляя значения цвета во всех вершина полигона и интерполируя по этим точкам остальные значения иногда может приводить к потере аккурантности всего изображения по сравнению с моделей фонга, который вычисляет конечный цвет во всех точках (пикселях) делая результат более аккуратным но засчёт значительно большого количества вычислений.

Комментариев нет:

Отправить комментарий