#1 2023-04-23 02:29:20

Проклятый Порох
Участник
Из Иркутск
Зарегистрирован: 2023-01-05
Сообщений: 16
Сайт

Вопрос о PBR, использующийся в некоторых демонстрациях возможностей дв

И снова здравствуйте) В некоторых технических демках использовался револьвер Cerberus, к которому был применён PBR, и код для PBR из которого я и захотел взять для своей игры. Только вот там объект металлический, что значит, что он для PBR использует текстуры metallic и roughness, для людей же используется текстуры specular и gloss. Может кто-нибудь либо подсказать, как поменять эти два параметра в шейдере, либо  либо подсказать, в каком демо используется PBR с неметаллическими предметами, пожалуйста?


Главный разработчик и дизайнер студии obsessed team. Группа студии - https://vk.com/TeamObsession

Offline

#2 2023-04-29 09:34:48

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 163
Сайт

Re: Вопрос о PBR, использующийся в некоторых демонстрациях возможностей дв

Разница не в том, металлический объект или нет. Эти две модели по сути одно и то же, просто они выносят в текстуры разные компоненты формулы освещенности. Насколько я понимаю, модель metallic+roughness придумана для того, чтобы соблюдался закон сохранения энергии (diffuse + specular < 1.0), то есть, грубо говоря,

specular = baseColor * metallic
diffuse = baseColor * (1 - metallic)

Roughness же - это просто 1-gloss.

Я сторонник metallic+roughness модели, во всех своих шейдерах использую ее) Если хранить сразу specular и diffuse, то есть вероятность, что получится "нефизичная" комбинация, где совокупная отраженная энергия больше падающей, а это уже не PBR wink. Для сохранения энергии нужно делать дополнительные телодвижения: текстуры должны быть взаимосвязанными - чем больше gloss, тем ярче specular (и, соответственно, тусклее diffuse). У metallic+roughness такой связи между текстурами нет, что довольно удобно.

Также разница в экономии по весу:

Specular+gloss - 24-bit (diffuse) + 24-bit (specular) + 8-bit (gloss)
Metallic+roughness - 24-bit (baseColor) + 8-bit (metallic) + 8-bit (roughness)

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

В общем случае, если текстуры создавались под рендер specular+gloss, то их уже не сконвертировать в metallic+roughness, и нужно переписывать рендер. А вот обратный процесс возможен.

Offline

#3 2023-05-01 08:40:52

Проклятый Порох
Участник
Из Иркутск
Зарегистрирован: 2023-01-05
Сообщений: 16
Сайт

Re: Вопрос о PBR, использующийся в некоторых демонстрациях возможностей дв

Спасибо, за код! А также учту всё вышенаписанное при создании и импортировании в движок модели)

Редактировался Проклятый Порох (2023-05-01 08:41:18)


Главный разработчик и дизайнер студии obsessed team. Группа студии - https://vk.com/TeamObsession

Offline

Подвал доски

Под управлением FluxBB