Цитата(BD194 @ 03.12.2020, 18:33)
Ну типо как он может быть хуже ориг модели освещения при хорошей реализации и правильном контенте. Тем более надо ж умудрится сделать так что и память выжирает, там по факту немного оригинальные строки изменить и пару функций приляпать, тем более что часть физ корректного(ну почти) IBL в сталкере и так есть.
Хорошо так говорить, когда уже всё знаешь и заведение PBR для тебя дело "в пару строк". А когда часами долбишься головой об стену, почему у скайбоксов мип-уровни не считываются, а дело оказывается в приписке _clf к сэмплеру - это совсем другое. Я не строю из себя эксперта, с графикой мне пару лет назад пришлось начать работать фактически с нуля, без каких-либо базовых знаний и представлений, как оно вообще функционирует. Не сказать, что я особо далеко продвинулся, но хотя б уже чуть дальше портирования готовых шейдеров от sweetfx. Потому да, приляпать PBR, чтоб выглядел не хуже стандартного рендера - лично для меня очень серьёзная задача. А по поводу "выжирания памяти" - я пошёл по пути подключения новой 4х-канальной текстуры, а не перетасовки старых в попытках впихнуть карты АО и Metalness.
В принципе, пока что-то, но всё же получается. Для базовых текстур, если не подключена pbr-карта, для раффа используется обратная глосса, а для металличности - значение xmaterial.
Есть проблема с разделением текстур на PBR и не-PBR. По-хорошему для этого нужен новый флаг в .thm, но для этого придётся править если не SDK, то сторонний thm-редактор. На данный момент использую флаг параллакса.
Есть проблема со скайбоксами, большая часть мне доступных использует рисованный горизонт, который даже на последнем, 10 мип-уровне отчётливо виден даже на 10% интенсивности отражения.
Ну и, наконец, остаются проблемы с хеми. IBL предполагает использование готовых карт окружения, да ещё и в HDR, а у меня в распоряжении только скайбоксы и смоллскаи. В итоге материалы в тени остаются совершенно матовыми, как правильно им считать спекуляр - не понимаю, использую костыли.
Я то прекрасно понимаю, что взялся за то, в чём практически не разбираюсь. Но ничего не делать и ждать, пока кто-то это сделает за тебя - тоже такой себе вариант.
А ещё большое спасибо Hozar_2002 за подсказку с бликом. Вроде такая банальщина - цвет солнца подмешивать, а упустил. В оригинальной ПЫСовской lmodel.h в plight_infinity() цвет солнца тоже не добавлялся, что интересно.