Render.ru

3DS формат и сглаживающие нормали...

#1
ввиду того что я так и не нашёл бесплатного конвертера из
3ds в ms3d, решил использовать 3ds...
-------------------------------------------------------------------------

Первое что мне не понравилось это то что файлы в формате
3ds не хранят в себе сглаживающих нормалей их теперь придётся
вычислять. Ну вот собсно это и хочу спросить КАК вычислить
сглаживающие нормали для всех полигонов сетки???
(нормали к плоскости полигона и сглаживающие нормали НЕ одно и тоже,
по краней мере нормали к плоскости полигона то я найти могу, тока при
их использовании сглаживания то не особо заметно)
--------------------------------------------------------------
Вот бы кто расписал просто математику вычисления сглаживающих нормалей...
 

logosman

Модератор форума
Команда форума
Рейтинг
316
#2
Нет такого понятия "сглаживающие нормали". Есть понятия "нормаль к плоскости" и "нормаль к вершине примитива".

Допустим есть объект из 3 треугольников (один треугольник есть примитив) соединённых одной вершиной вместе. Можно рассчитать нормаль к каждому из них, надеюсь понятно как это делается.

Дальше делаешь перебор всех вершин треугольников. Смотришь сколько эта вершина объединяет треугольников вместе, суммируешь все вектора нормалей этих треугольников и получившийся вектор нормализуешь. Присваиваешь этот вектор нужной вершине и всё... Вот тебе и твоя "сглаживающая нормаль":)

А вообще почитай http://enlight.ru/faq3d/index.htm для начала.
 
Сверху