Войти
ПрограммированиеФорумГрафика

Как правильно считать касательные (tangents)? (2 стр)

Страницы: 1 2 3 Следующая »
#15
(Правка: 8:44) 8:44, 31 июля 2019

polvorony
Вот тебе еще в догонку нормаль из нормал мапы, повернутая через TBN базис:
artorias4 | Как правильно считать касательные (tangents)?
Как видишь меч нормальный, не "поломался"


#16
9:50, 31 июля 2019
Suslik
> ты чего перевозбудился-то на ровном месте?

это диагноз

#17
(Правка: 10:24) 10:14, 31 июля 2019

Негодявцы провокаторы , провоцируют MrShoor такими вот темами.
Отвлекая MrShoor от написания полезной и нужной утилиты.

#18
17:13, 31 июля 2019

о, я как-то решил эту проблему. Дополнительно считаю еще и знак тангента. Код не рядом

#19
4:31, 1 авг. 2019

MrShoor
Твоя функция у меня дала такие же "сломаные" результаты. Значит, проблема где-то еще, буду разбираться.

Кстати, насколько я понимаю, у тебя TBN базис получается ненормированый, так разве можно?

Еще проверил модель (оригинальный fbx скачаный со sketchfab) - в ней нет касательных, по крайней мере Autodesk FBX SDK их не видит. Проверял своим импортером, и примером ImportScene из состава SDK (он выводит все данные из fbx файла).

#20
7:22, 1 авг. 2019

polvorony
> у тебя TBN базис получается ненормированый, так разве можно?
Да, можно. Ты же все равно не знаешь с каким базисом нормали запекались. А при запекании мог быть и ортонормированный, и нет.

#21
17:08, 1 авг. 2019

Suslik

формально должен меняться именно скачкообразно и интерполировать его вообще некорректно)

Ну так покажи, как правильно - результат.
А то как всегда - тонны писанины про тензоры, базисы и не одной картинки с результатом.

По теме - вы все равно не сможете посчитать правильно тангенты. Точнее сможете, но это будет такое же неправильное гавно как и ваши нормали ))

#22
(Правка: 4:28) 4:21, 2 авг. 2019

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

#23
(Правка: 6:46) 6:40, 2 авг. 2019

Suslik
я видел много разных нормал мапов, но речь о том что единственным критерием "правильности" тенгентов является то, как выглядит отрендеренная модель. По этому нужно накидывать нормал мап на модель и смотреть.
А как оно там правильно в теоретическом вакууме всем пофик.

На скриншоте кстати какая-то херня. Это не тангент спейс, и еще и модель перед запеканием подвергли разбиению на группы сглаживания по каждому треугольнику, или текстурные координаты нашинковали по одному треугольнику.
Так не нужно делать.

#24
(Правка: 6:50) 6:49, 2 авг. 2019

Polyflow3d
> Это не тангент спейс, и еще и модель перед запеканием подвергли разбиению на
> группы сглаживания по каждому треугольнику, или текстурные координаты
> нашинковали по одному треугольнику.
ну так в этом и отстой расчёта тангентов по производным.

> я видел много разных нормал мапов, но речь о том что единственным критерием
> "правильности" тенгентов является то, как выглядит отрендеренная модель
зачем смотреть, как выглядит отрендеренная модель, если у неё уже на тангентах артефакты? разумеется, если сверху намазать PBR, блумом и прочим постпроцессом, это будет менее заметно, но это не значит, что рассчитывается правильно. ещё результат будет сильно зависеть от рельефности нормалмапы и если в ней много участков, сильно отклонённых от плоскости полигона, артефакты будут более заметны.

#25
10:20, 2 авг. 2019

сколько ещё страниц будет исписано ?

#26
(Правка: 12:45) 12:37, 2 авг. 2019

Suslik

зачем смотреть, как выглядит отрендеренная модель, если у неё уже на тангентах артефакты?

что значит "на тангентах артефакты"?
Тангенты нужно пересчитать в своем реалтайм приложении.
Критерий правильности пересчета тангентов - это что бы модель выглядела так же как и в приложении в котором запекался нормал мап. Не?

ну так в этом и отстой расчёта тангентов по производным.

нет такого понятия - "отстой" . Есть понятие - ты правильно пересчитал тангенты, или нет.
Тебе приложение для запекания нормалов диктует как надо считать тангенты.
Но сейчас  внедряют некий MikkTSpace алгоритм пересчета, чтобы как-то унифицировать  тангенты между приложениями, так что всем, кто не может сам написать проще будет скопипастить его и не париться.
#27
12:43, 2 авг. 2019

Polyflow3d
> А критерий правильности - это что бы выглядело одинково и в DCC приложении и в твоем движке .
ещё раз повторяю — это неправильный критерий. если в движке выключить всё освещение, то чёрный экран будет выглядеть предельно правильно, но это не значит, что у тебя тангенты правильно считаются. точно так же если модель выглядит более-менее нормально при определённых условиях, ещё не значит, что тангенты в ней считаются нормально или что она будет выглядеть нормально при любых других условиях.

#28
12:53, 2 авг. 2019

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

#29
13:38, 2 авг. 2019

polvorony
> Вроде все делают также, как и я.

да нет наверное - просто берут tangent из vertex data

Страницы: 1 2 3 Следующая »
ПрограммированиеФорумГрафика