Render.ru

вопрос по теории нормалей.

#1
Вопрос по теории нормалей.

Открыл модификатор эдит-нормалз и тут основы мироздания начали рушиться 8)
я всегда считал что нормаль перпендикулярна поверхности полигона и исходит из цетра его "лицевой" стороны. Тут же они почему-то торчат из вершин да ещё и под какими-то дикими углами, к0рые можно менять. Какого...?
Чувствую себя дятлом.
Неужели в ДиректХ/ОпэнДжЛ и МАКСе такое разное представление нормалей?
Вопрос в следующем - как нормали работают в программерском мире?
 
#2
Нормаль это такой же параметр вершины как и ее XYZ и UVW кординаты, нормаль плоскости расчитывается из нормалей вершин, все правильно.
 
#3
А почему не достаточно просто координат точек полигона. И по ним расчитать перпендикуляр к полигону? Или направление нормали может иметь отличное от перпендикуляра направление? Зачем?
 
#4
потому как разные шейдеры считают нормали по разному :)
один использует средневзвешеную, это как раз нормаль к точке пересечения биссектрисс (то, что автор топика и назвал собственно нормалью к полигону), второй расчитывает нормаль как суммарный вектор для каждой точки полигона, третий задает некий порог и считает нормаль дискретно... результаты получатся абсолютно разные... особенно это касается игровых движков. А называется все одинаково - издержки терминологии... :0)
 
#5
у-у-у, вот оно что.
Особенно интересно насчёт движков, потому как в МАКСе изменения направленности нориалей на конечный рэнндэр не влияли, странные затенения видны были лишь в виевпортах

Кстати насладиться вершинными нормалями в квэйке можно, введя
/r_shownormals 1
 
Сверху