Sidebar

P2:Savior блог разработчика

ncuxonaT

Well-known member
05.05.2013
1 192
46
48
2 FiEctro: ну вообще вроде есть (отсюда):
"When talking about Normal Maps it is common to hear the terms DirectX and OpenGl. This is in reference to how an application interprets the normal map. OpenGL reads values as Y being up or positive. DirectX reads values as Y being down or negative. To switch between the two is as simple as inverting the green channel. Some applications and renderers have this as a menu option for normal maps. Others do not have an option at all, in which case the channel needs to be flipped on the map directly."

Я щас делаю модели на заказ, и там обычно прямо прописывают в задании "OpenGL tangent space Normal map"

или вот еще на русском:
"Что касается нотаций карт нормалей, то исторически знакомые два лагеря: DirectX и OpenGL.
Как видно, они не совместимы. И немного покумекав можно понять, что DirectX полагает касательное пространство леворуким, а OpenGL праворуким. Подсунув иксовую карту нормалей нашему приложению без изменений получим некорректное освещение, причем не всегда сразу видно, что оно некорректное. Самое заметное — то, что выпуклости в формате OpenGL становятся углублениями для DirectX и наоборот."


2 Дядя Мишая попробовал метод Капланяна для сглаживания спекуляра, для кубемап получается хреново.
 
Последнее редактирование:
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Чего я вам объясняю всё, есть же гайды.
Ну вот опять чистая теория - есть металл, который представляет собой монотонный цвет. То есть у нас для металлов одни текстуры, для неметаллов другие. В реальности это весьма неудобно. Можно еще народу объяснить, чтобы они не рисовали тени на диффузке, но объяснить им почему нельзя рисовать ржавчину на металлической текстуре ты не сможешь.
Вот эта вот система, где вместо альбедо надо использовать заданный константой цвет - она стрёмная by design. Её может понять пограмист, но художник всё равно по своему сделает.

Он в Метро за материалы отвечал или за расстановку пропсов?
Он работал в реальном проекте. А ты теоретизируешь за идеальный workflow.

When talking about Normal Maps it is common to hear the terms DirectX and OpenGl
Еще лучше. Вот тоже какой-то идиот привязал ориентацию нормалей к графическому API. Ну ладно, я бы понял, если бы её назвали по имени какого-нибудь крейзи бампа, где эти нормали изначально делались или по имени котошопа. Но причём тут вообще API? API не знает за нормалмапы, для него это точно такая же текстура. Может конечно имелась в виду привязка к репрезентации экранных координат, но это тоже весьма спорно.

я попробовал метод Капланяна для сглаживания спекуляра, для кубемап получается хреново.
Так этот метод манипулирует исходным значением roghness, который кубемапы совсем не используют. Как же могло что-то получится? %)
 

ncuxonaT

Well-known member
05.05.2013
1 192
46
48
Её может понять пограмист, но художник всё равно по своему сделает.
уже лет 5 все рисуют без вопросов, а ты говоришь, что ничего не получится.
Он работал в реальном проекте. А ты теоретизируешь за идеальный workflow.
я рисую модели с пбр-текстурами в обоих воркфлоу, и люди платят мне за это деньги. Потому что всё в соответствии с промышленными стандартными.
Вот тоже какой-то идиот привязал ориентацию нормалей к графическому API.
разве там не разные системы координат?
Так этот метод манипулирует исходным значением roghness, который кубемапы совсем не используют. Как же могло что-то получится?
мип кубемапы выбирается в соответствии с roughness же
 

crystallize

Well-known member
06.06.2014
1 577
30
48
ncuxonaT сказал(а):
На то он и PBR, что учитывает физические свойства материала.
Ну мы же как бы графикой занимаемся, и PBR про консервацию световой энергии. В таких условиях люди в первую очередь поймут "физические свойства" как взаимодействие именно со светом а не с чем-то ещё.
 

ncuxonaT

Well-known member
05.05.2013
1 192
46
48
crystallize сказал(а):
Ну мы же как бы графикой занимаемся, и PBR про консервацию световой энергии. В таких условиях люди в первую очередь поймут "физические свойства" как взаимодействие именно со светом а не с чем-то ещё.
Ну поэтому все и упрощено максимально. Чистые металлы рисуйте так, всё остальное рисуйте иначе. Конец. Это и есть консервация энергии. У металлов весь падающий свет уходит в отражение. У всего остального раскладывается на отражение, поглощение, преломление.
 
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
я рисую модели с пбр-текстурами в обоих воркфлоу, и люди платят мне за это деньги
Так вот именно что в обоих. А не пытаешься убедить одних, что будешь рисовать только в одном, потому что так надо, как ты здесь пытаешься это сделать.

уже лет 5 все рисуют без вопросов
Кто - все? Ну вот кто - все?

разве там не разные системы координат?
Разные, но к ориентации нормалей это точно не имеет отношения. Какая разница с какого конца читать пиксель, если получившиеся значения не привязаны к ориентации экрана.

мип кубемапы выбирается в соответствии с roughness же
Но мип не влияет на эти блики напрямую. Потом если найдется более красивое решение его можно будет использовать, а пока я не хочу учитывать нормалмапу.

Чистые металлы рисуйте так, всё остальное рисуйте иначе
А то што?
 

ncuxonaT

Well-known member
05.05.2013
1 192
46
48
Так вот именно что в обоих. А не пытаешься убедить одних, что будешь рисовать только в одном, потому что так надо, как ты здесь пытаешься это сделать.
Ну покажи, где я убеждал. Я предложил тебе свои текстуры шаров этих перевести в спекуляр/глоссинес и посмотреть, что будет, а ты начал гаситься.
Разные, но к ориентации нормалей это точно не имеет отношения. Какая разница с какого конца читать пиксель, если получившиеся значения не привязаны к ориентации экрана.
Не экранные координаты, а мировые. У директикса left-handed, у опенгла right-handed. Касательный базис получается разный при одинаковом алгоритме его вычисления.
Почему нельзя, разве пятна ржавчины не будут просто белыми на карте "металличности" у материала?
Будут черными. Обычно на карте металличности металлы белые, остальное черное.

[ADDED=ncuxonaT]1555445065[/ADDED]
Но мип не влияет на эти блики напрямую. Потом если найдется более красивое решение его можно будет использовать, а пока я не хочу учитывать нормалмапу.
Влияет, чем больше мип, тем размытее блик, тем меньше он рябит. Как ты людям объяснишь, почему у них на отражениях нормалмапа пропадает? Есть решение с Toskvig-фактором, но там чего-то нужно предрасчитывать, типа увеличивать шероховатость с увеличением мипа, учитывая нормалмапу. Надо изучить будет.
 
Последнее редактирование:
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Влияет, чем больше мип, тем размытее блик, тем меньше он рябит.
я попробовал метод Капланяна для сглаживания спекуляра, для кубемап получается хреново.
Проводимость вообще тут не при чем.
Проводимость на самом деле имеет значение
Ты в каждом следующем посте противоречишь сам себе. Я буду тереть этот флуд, надоело.
 

ncuxonaT

Well-known member
05.05.2013
1 192
46
48
Давай уж я за противоречия поясню, и на этом закончим тему ПБР. Хотя моё предложение по поводу текстур остаётся в силе.
Влияет, чем больше мип, тем размытее блик, тем меньше он рябит.
я попробовал метод Капланяна для сглаживания спекуляра, для кубемап получается хреново.
Первое правда. Второе тоже правда. Но метод Капланяна основан на частных производных нормали, у меня они как-то странно вычисляются (см. аттач). Как будто, в пониженном разрешении и не особо стабильно. Из-за этого где-то ряби получается меньше, где-то больше.
Проводимость вообще тут не при чем.
Проводимость на самом деле имеет значение
В первом случае речь шла о том, что художнику не нужно думать о проводимости материала, только о том, металл или нет. И это касается обоих workflow.
Во втором случае речь шла о том, что на уровне физики металлический блеск вызван теми же причинами, что и высокая проводимость металлов.

Оффтоп
 

Вложения

Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Как будто, в пониженном разрешении и не особо стабильно
Так у него и в демке есть этот эффект. Не замечал?

[ADDED=Дядя Миша]1555483268[/ADDED]
Добавил в параною потдержку рекурсивных зеркал из ксаш-мода. Надо еще будет поддержку звука для видео добавить.
Вообще я заметил, что установка юниформов дико жрёт фпс, при накоплении сурфейсов мира для отрисовки. Если её вызывать один раз в начале каждого батча, то получается почти пятикратный прирост в скорости на простых картах и процентов 30 на сложных, типа той же спонзы. И надо еще будет вернуть оклюжен-тест для зеркал.
 
Последнее редактирование:
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Наконец-то дошли руки до правильной сортировки полупрозрачных сурфейсов.
Поправде говоря она была всегда и везде неправильной. Но когда мы рендерили со включённым блендингом это зачастую было незаметно. Идея в том, чтобы создать список из всех бсп-поверхностей и отдельных мешей студиомоделей, отсортировать этот список и рендерить от дальнего к ближнему. Для каждого такого примитива делается копия экрана, но не всего, а только по скиссору объема, который он занимает на экране. Эта копия экрана потом блендится с диффузной текстурой меша, умноженной освещение. Это единственный способ сделать корректные стёкла с тенями и освещением. Какая-то часть объектов без освещения по прежнему рендерится со включённым блендингом - спрайты, партиклы. Они это делают раньше отрисовки полупрозрачных мешей, потому что сами полупрозрачные меши рендерятся со включённой записью глубины, а полупрозрачность достигается, как я уже сказал копией экрана. Но и здесь есть небольшие проблемы. Декали! Во первых декали рендерить с включённой записью в буффер глубины невозможно, из-за ошибок округления, они могут перезатереть сам меш, во вторых, если у нас стёкла с альфа-каналом, то нам очевидно хотелось бы видеть декаль с задней стороны такого стекла корректно, чтобы она не просвечивала сквозь непрозрачные участки. Это на самом деле большая проблема, но я нашёл оригинальное решение. Осталось только придумать как это всё соптимизировать. Для еденичных стикол не имеет значения, но когда у нас море на полкарты, выводить его по полигончику довольно затратно.

[ADDED=Дядя Миша]1555579537[/ADDED]
ЗЫ. я вам больше скажу - правильные стёкла получаются только со включённой записью в буффер глубины и отключённым блендингом. В противном случае у них или цвет меняется или контрастность. Раньше я пытался это решить волшбеными константами-мультипликаторами, чем еще больше усугублял ситуацию. Ну вот пришло время всё сделать корректно, как с рекурсивными зеркалами в ксаш-моде :)
 
Последнее редактирование:
Команда форума
VIP
28.03.2010
15 331
259
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
124854
124855
124856
124857

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

ncuxonaT

Well-known member
05.05.2013
1 192
46
48
"Астрономическая рефракция (атмосферная рефракция) — преломление в атмосфере световых лучей от небесных светил, и изменение, в связи с этим, их положения на небосводе.

Поскольку плотность планетных атмосфер убывает с высотой, преломление света происходит таким образом, что своей выпуклостью искривлённый луч всегда обращён в сторону зенита. В связи с этим рефракция всегда «приподнимает» изображения небесных светил над их истинным положением. Другое видимое следствие рефракции (точнее, разницы её значений на разных высотах) — сплющивание видимого диска Солнца или Луны на горизонте."
То есть у тебя там учитывается сплющивание видимого диска Солнца?
 

Новые сообщения

Донат - Хостинг

Итого
200.00 $
Цель
600.00 $

Доноры Красавчики

Пользователи онлайн

Нет пользователей онлайн.