Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Графика, рендер, шейдеры
GAMEINATOR forums > S.T.A.L.K.E.R. > Мастерская: создание модов для S.T.A.L.K.E.R.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91
ed_rez
Цитата(cjayho @ 07.05.2019, 16:34) *
Цитата(ed_rez @ 07.05.2019, 16:20) *
Ребят, объясните, почему все рендеры, которые требуют ВК (видео-карточки) по сути своей, а в Сталкере не используются и хватает встроенного граф. процессора по типу Intel HD? Это эмуляция рендера? Если да, то как эмуляция может улучшить производительность?
P.S. Какие-то вещи понимаю, но в общих красках не совсем полная картинка. Хочется глубже понять необходимость, к примеру, DX12.

Интел хд вполне себе видеокарта, правда слабенькая.

Видимо я не достаточно раскрыто написал. В наличии 2 ВК, одна, которую ты выше описываешь, а другая- игровая. Так вот, многие современные игры сразу запускают игровую ВК, по причине необходимости для рендера. Но ни один Сталкер (проекты, где DX10 и выше) не желает использовать игровую ВК, а использует встроенную (не дискретную). Появляется сомнение, что рендеры полноценные, я не знаю, как иначе написать.
cjayho
QUOTE (ed_rez @ 07.05.2019, 16:43) *
QUOTE (cjayho @ 07.05.2019, 16:34) *
QUOTE (ed_rez @ 07.05.2019, 16:20) *
Ребят, объясните, почему все рендеры, которые требуют ВК (видео-карточки) по сути своей, а в Сталкере не используются и хватает встроенного граф. процессора по типу Intel HD? Это эмуляция рендера? Если да, то как эмуляция может улучшить производительность?
P.S. Какие-то вещи понимаю, но в общих красках не совсем полная картинка. Хочется глубже понять необходимость, к примеру, DX12.

Интел хд вполне себе видеокарта, правда слабенькая.

Видимо я не достаточно раскрыто написал. В наличии 2 ВК, одна, которую ты выше описываешь, а другая- игровая. Так вот, многие современные игры сразу запускают игровую ВК, по причине необходимости для рендера. Но ни один Сталкер (проекты, где DX10 и выше) не желает использовать игровую ВК, а использует встроенную (не дискретную). Появляется сомнение, что рендеры полноценные, я не знаю, как иначе написать.



У меня он по дефолту юзает дискретную:

log

Starting RENDER device...
* GPU [vendor:10DE]-[device:1140]: NVIDIA GeForce 820M
* GPU driver: 21.21.13.6909
* CREATE: DeviceREF: 1
* Vertex Processor: PURE HARDWARE
* Texture memory: 4076 M
* DDI-level: 9.0
* GPU shading: vs(fffe0300/3.0/30), ps(ffff0300/3.0/30)


Когда запустил принудительно на встроенной, пишет такое:

log

Starting RENDER device...
* GPU [vendor:8086]-[device:1606]: Intel® HD Graphics
* GPU driver: 20.19.15.4835
* CREATE: DeviceREF: 1
* Vertex Processor: PURE HARDWARE
* Texture memory: 4084 M
* DDI-level: 9.0
* GPU shading: vs(fffe0300/3.0/30), ps(ffff0300/3.0/30)


Каких-то отличий в рендеринге не заметил кроме снизившегося фпс.
Да и шейдинговая модель у интеловской карты точно такая же.
Другие игры вполне могут проверять на какой карте запущены, если не нвидия или радеон то го лесом.
iOrange
Цитата(ed_rez @ 07.05.2019, 16:43) *
многие современные игры сразу запускают игровую ВК

Цитата(cjayho @ 07.05.2019, 16:54) *
Другие игры вполне могут проверять на какой карте запущены, если не нвидия или радеон то го лесом.

Это делается элементарно, делюсь кодом:

Код
extern "C"
{
    // http://developer.download.nvidia.com/devzone/devcenter/gamegraphics/files/OptimusRenderingPolicies.pdf
    __declspec(dllexport) DWORD NvOptimusEnablement = 1u;
    
    // https://gpuopen.com/amdpowerxpressrequesthighperformance/
    __declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1;
}
cjayho
QUOTE (RayTwitty @ 07.05.2019, 15:36) *
Потому что глоу запекается для статики, при разбиении лампочки на р2 он останется.


Зы. ты точно ничего не путаешь? Глоу это спрайт который висит на оси лампы и делает блик, механизм примерно как у солнечного градиента.
Ты походу с лайтмапами спутал.

Вот я обвел где глоу



QUOTE (iOrange @ 07.05.2019, 17:00) *
QUOTE (ed_rez @ 07.05.2019, 16:43) *
многие современные игры сразу запускают игровую ВК

QUOTE (cjayho @ 07.05.2019, 16:54) *
Другие игры вполне могут проверять на какой карте запущены, если не нвидия или радеон то го лесом.

Это делается элементарно, делюсь кодом:

CODE
extern "C"
{
    // http://developer.download.nvidia.com/devzone/devcenter/gamegraphics/files/OptimusRenderingPolicies.pdf
    __declspec(dllexport) DWORD NvOptimusEnablement = 1u;
    
    // https://gpuopen.com/amdpowerxpressrequesthighperformance/
    __declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1;
}



Спасибо, но мне это не особо нужно smile.gif

-------------

Зы, но лампочку проверять на разбитость не помешает:

ForserX
iOrange, можно из окси взять реализацию по чтению ГПУ. Я там упоролся с системой, кол-во видеокарт, кросс, нагрузка на них.

ed_rez, мне кажется, или дело в версии DXGI
RayTwitty
Цитата(cjayho @ 07.05.2019, 18:15) *
Зы. ты точно ничего не путаешь? Глоу это спрайт который висит на оси лампы и делает блик, механизм примерно как у солнечного градиента.
Ты походу с лайтмапами спутал.

Ничего я не спутал, эти "глоу" расставляются вручную в Level Editor и к hanging lamp не имеют никакого отношения. Ты этот спрайт можешь хоть по среди комнаты поставить.

Цитата(cjayho @ 07.05.2019, 18:15) *
Зы, но лампочку проверять на разбитость не помешает:

ч.т.д. biggrin.gif
ed_rez
cjayho, iOrange,
в достаточно глупую ситуацию попал. Я уже как-то насильно подпихивал ВК файл запуска игры, но несколько неправильный выбор сделал, вроде и указал "зеленую" ВК, а автовыбор оставил.
Теперь разобрался. Буду радоваться иному ФПС. Благодарю! thank_you2.gif

ForserX,
благодарю за ответ. Дровишки обновлены до предела, на сколько хитроумные обновляторы предложили оптимальную версию для моей ВК. Сам я в жизни не разобрался бы, время на тесты не желается тратить, дык еще и ноутбук, который использует мобильные дискретные ВК, там вообще для меня лес, поэтому доверился паку дровишек с алгоритмом выбора оптимального варианта. Название- Snappy Driver Installer. Если кто использовал, то хотелось бы профессионального мнения, а лучше с критикой и предложения. biggrin.gif
В общем, насильно подпихнул через настройщик ВК и сразу же запуском игры проверил. В логе отрапортовался запуск дискретной.
iOrange
Цитата(ForserX @ 07.05.2019, 17:36) *
iOrange, можно из окси взять реализацию по чтению ГПУ

Цитата(ForserX @ 07.05.2019, 17:36) *
мне кажется, или дело в версии DXGI

Не совсем понял о чем вы. То что я запостил - официальный способ форсировать использование дискретки (собственно, в каментах ссылки на оф. документацию).
На лептопах система автоматом будет вас садить на встроенную графику, а не все пользователи умеют форсить в настройках.



Цитата(ForserX @ 07.05.2019, 17:36) *
из окси

Простите, а "окси" это что?
ed_rez
Цитата(iOrange @ 07.05.2019, 18:08) *
Простите, а "окси" это что?

https://github.com/ForserX/xray-oxygen
https://www.gameru.net/forum/index.php?show...p;#entry1655955
cjayho
QUOTE (RayTwitty @ 07.05.2019, 17:42) *
QUOTE (cjayho @ 07.05.2019, 18:15) *
Зы. ты точно ничего не путаешь? Глоу это спрайт который висит на оси лампы и делает блик, механизм примерно как у солнечного градиента.
Ты походу с лайтмапами спутал.

Ничего я не спутал, эти "глоу" расставляются вручную в Level Editor и к hanging lamp не имеют никакого отношения. Ты этот спрайт можешь хоть по среди комнаты поставить.

QUOTE (cjayho @ 07.05.2019, 18:15) *
Зы, но лампочку проверять на разбитость не помешает:

ч.т.д. biggrin.gif


Хмм. тогда сорян, my bad.

Хотя для моих нужд и так норм, я сейчас сгребаю все свои наработки в одну кучку с целью исправления тех ошибок что наиблее раздражали в тч вроде мерцающих теней по бокам экрана, бага с солнцем, синюшности ну и тэдэ и тэпэ.
Картинку хочу сделать максимально билдотной, только р2-онли, р1 втопку.
По сути апнутая (с правками двигла) версия шейдерпака. Сейчас благо со свободным временем не так проблемно как в течение крайних 5...6 лет.
Diesel
Кстати, вы мой рендер R3 в ЧН смотрели в теме 1.5.99 (1.5.11 именно).
Что то нифига не смотрели. Там у ЧН R3 полностью переработан до 1602, вот только шейдера не в темп складируются, в кеш как у ЧН.

делаешь - делаешь и никому нафиг ни надо.
cjayho
QUOTE (Дизель @ 07.05.2019, 18:56) *
Кстати, вы мой рендер R3 в ЧН смотрели в теме 1.5.99 (1.5.11 именно).
Что то нифига не смотрели. Там у ЧН R3 полностью переработан до 1602, вот только шейдера не в темп складируются, в кеш как у ЧН.

делаешь - делаешь и никому нафиг ни надо.


Перезалейте на чтото нормальное. Далеко не все живут в россии и имеют доступ на мылру или ядиск.
Diesel
Цитата(cjayho @ 07.05.2019, 22:03) *
Перезалейте на чтото нормальное. Далеко не все живут в россии и имеют доступ на мылру или ядиск.

На Мегу залью? У меня нет больше возможностей.
На Mегу могу к утру залить - скорость модема не позволяет быстро.
cjayho
QUOTE (Дизель @ 07.05.2019, 19:12) *
QUOTE (cjayho @ 07.05.2019, 22:03) *
Перезалейте на чтото нормальное. Далеко не все живут в россии и имеют доступ на мылру или ядиск.

На Мегу залью? У меня нет больше возможностей.
На Mегу могу к утру залить - скорость модема не позволяет быстро.


Залейте пожалуйста. Спасибо.
Zagolski
Цитата(cjayho @ 07.05.2019, 16:27) *
Интересно, почему разрабы выпилили Glows на р2? Красиво же

Потому как там для этих целей используется блум. Правда, низкого качества, но зато fast. Хотя лично мне глоу больше нравится, реалистичнее смотрится. Хотя по идее вблизи этого глоу быть не должно, но он должен увеличиваться с расстоянием (если смотреть на лампу в реальном мире, то как раз лампы вдалеке испускают такой глоу). В рендер бы внедрить динамический размер глоу.

Цитата(cjayho @ 07.05.2019, 17:34) *
И я давно говорил что рендер ЧН и ЗП мне не нравится, я не знаю что они поломали когда делали ЧН, но ТЧшный р2 вполне можно привести к билдографике

Поверхностно, конкретно в картинке (если вырубить все новые опции) отличие лишь в цвете окружения. В ТЧ используется sky_color, в ЧН/ЗП hemi_color (hemisphere_color). Т.е. по сути лишь разный цвет - коричневатый вместо старого голубоватого. Ну а если глубже, то новый рендер проработаннее, новый директх и его плюшки, плюс более грамотная шейдерная модель, как минимум с нормальным дин. ветвлением.

Покрутил тут сталкерскую модель освещения на динамике, какая-то она тормознутая у GSC вышла. По фпс примерно как если кук-торренс делать, а может даже и медленнее. И заметно тормознутее фонга. Жесть. Там на пиксель аж четыре выборки из кубамапы с рефлектом, плюс две из капитальной 3D текстуры материалов. Я плачу.
Diesel
Рендер как на фотографии или примерно. Чувствуется эффект присутствия в реале.
Картинки




Generation Zero

Год выпуска: 2019
Жанр: Action (Survival), RPG, 3D, 1st Person
Разработчик: Avalanche Studios
Издательство: Avalanche Studios
Версия игры: Build 20190425/Hotfix

Системные требования:
Операционная система: Windows™ 7 SP1 (64-бит) и выше
Процессор: Intel i5 Quad Core
Оперативная память: 8 Гб
Видеокарта: nVidia GTX 660 / ATI HD7870 @ 2 Гб / Intel® Iris™ Pro Graphics 580


Игра создается на собственном движке студии Apex Engine
iOrange
Цитата(Дизель @ 07.05.2019, 22:10) *
Рендер как на фотографии или примерно

Индирект плоский, как грудь моей бывшей.
Картинку вытягивает грамотный color grading.
RSFSR
RayTwitty,
Цитата
Ничего я не спутал, эти "глоу" расставляются вручную в Level Editor и к hanging lamp не имеют никакого отношения. Ты этот спрайт можешь хоть по среди комнаты поставить.

глоу также прописывается в динамическую лампочку, привязывается к кости и качается вместе с лампочкой если пострелять в нее. При разбивании пропадает. Все это видно на статике. А на динамике глоу не отображается
Diesel
Цитата(iOrange @ 08.05.2019, 01:16) *
Цитата(Дизель @ 07.05.2019, 22:10) *
Рендер как на фотографии или примерно

Индирект плоский, как грудь моей бывшей.
Картинку вытягивает грамотный color grading.


Как так о своей бывшей девушке, я понимаю что это шутка-юмора.
Надо было тебе ей вантуз подарить. biggrin.gif

Ну, если даже это индирект - что же будет дальше? Мне нравится уже, хотя я саму игру и в глаза не видел.
iOrange
Цитата(Дизель @ 07.05.2019, 22:34) *
Мне нравится уже, хотя я саму игру и в глаза не видел.

Ну это главное. У меня давно проф. деформация - вместо наслаждения картинкой глаз цепляется за недостатки освещения.

На первом скрине - плоские камни. На втором - плоский робот. На третьем вообще тени ушли в киоск за квасом.
RayTwitty
Цитата(RSFSR @ 07.05.2019, 23:17) *
глоу также прописывается в динамическую лампочку, привязывается к кости и качается вместе с лампочкой если пострелять в нее. При разбивании пропадает. Все это видно на статике. А на динамике глоу не отображается

Есть такое, но в финалке не встречается практически нигде. То есть, после того, как будет реализации для р2 на уровне движка, нужно ещё перелопатить все объекты света в игре и прописать нужную глоу-текстуру в зависимости от типа.
Плюс дефолтный глоу, как уже сказали выше, привязан к позиции в 3д-мире, а надо бы его рисовать прямо перед камерой как блик-эффект. Кароче сделать всё то, что уже сделал КД))

З.Ы. По дефолту у глоу еще есть просветы через геометрию при первом появлении в кадре. Это заметно на правленных шейдерах (например ECB Shaderpack или билдовские какие-то шейдеры), где он отображается поверх лампочки.
RSFSR
Цитата
нужно ещё перелопатить все объекты света в игре и прописать нужную глоу-текстуру в зависимости от типа.

так это в сауне, перекомпилировать ничего не нужно. Максимум за час можно справиться, имея в сдк распакованные уровни. А через acdc наверно еще быстрее)
ed_rez
Цитата(iOrange @ 07.05.2019, 22:40) *
На втором - плоский робот.

Любительским взглядом, там модель под тысяч 70 треугольников. Почему плоская!?
cjayho
QUOTE (RayTwitty @ 07.05.2019, 22:51) *
Плюс дефолтный глоу, как уже сказали выше, привязан к позиции в 3д-мире, а надо бы его рисовать прямо перед камерой как блик-эффект. Кароче сделать всё то, что уже сделал КД))


Ну да, впервые текстура глоу не была утоплена в геометрию лампы у меня в ECBSP, но сделал все равно КД.

QUOTE (ed_rez @ 07.05.2019, 23:49) *
QUOTE (iOrange @ 07.05.2019, 22:40) *
На втором - плоский робот.

Любительским взглядом, там модель под тысяч 70 треугольников. Почему плоская!?


На картинке как минимум нету ambient occlusion.
macron
Цитата(Дизель @ 07.05.2019, 23:10) *
Рендер как на фотографии или примерно. Чувствуется эффект присутствия в реале.

На втором скрине мультяшная синяя дымка всё портит. В целом графон может и не плох, но скорее напоминает сталкерские моды на кризис-движке, с фотореализмом как-то не очень.

Цитата(Дизель @ 07.05.2019, 23:10) *
Generation Zero

Пробовал, кстати, запускать эту дичь (апрельский апдейт), так ничего и не вышло. Игра косячнее даже чем windows 10, все плюются.

ЗЫ: фотореализьм из древнего автосимулятора
ыыы







ed_rez
Цитата(cjayho @ 08.05.2019, 00:02) *
На картинке как минимум нету ambient occlusion.

Так это, вроде, как к текстурам. На скриншоте есть ощущение того, что просто натянута текстура без вспомогательных. Считай мы видим статику, как в Сталкере. Хотя и на ней можно поиграть шейдерами, которые есть в наборе СДК.
Я несколько не понял термина "плоский", в моем понятии "не объемный".
cjayho
QUOTE (Дизель @ 07.05.2019, 18:56) *
Кстати, вы мой рендер R3 в ЧН смотрели в теме 1.5.99 (1.5.11 именно).
Что то нифига не смотрели. Там у ЧН R3 полностью переработан до 1602, вот только шейдера не в темп складируются, в кеш как у ЧН.

делаешь - делаешь и никому нафиг ни надо.


Открыл, позырил.
Рендер сыроват имхо, если поставить регуляторы яркости, контраста и гаммы на средние положения, как должно быть, то картинка в солнечный день выглядит дико неестественно.

Зы, и как всегда, файлы ecb_fx_generic.vs, effects_glow_p.ps, effects_gradient*, из моего ecbsp или с лостальфы (что то же самое), а обо мне как всегда ни слова mad_2.gif
RayTwitty
Цитата(cjayho @ 08.05.2019, 01:02) *
впервые текстура глоу не была утоплена в геометрию лампы у меня в ECBSP

Впервые она не была "утоплена" в билдах, 2205 или около того biggrin.gif Собственно решается копипастой в ТЧ.

А "утопили" (поменяли очередь отрисовки) ПЫС именно из-за проблемы с просветом через геометрию на первом кадре. Я у себя в движке, на основе правок SkyLoader'a, делал фикс для статики, теперь бага практически незаметно и можно юзать билдовский шейдер.
Zagolski
Цитата(macron @ 08.05.2019, 01:08) *
фотореализьм из древнего автосимулятора

А что за игра такая? Зачетная картинка, очень даже.
Да, ерунда, древняя не древняя. С тех пор, как научились делать бампы и динамические тени, графика в играх толком никуда не движется. Лишь полигонаж наращивают, да текстурки. А особо расторопные всякими пост-эффектами приукрашивают. Правда, сейчас наконец пришла эра рейтресинга, поглядим как дело пойдет.

Цитата(RayTwitty @ 08.05.2019, 02:43) *
А "утопили" (поменяли очередь отрисовки) ПЫС именно из-за проблемы с просветом через геометрию на первом кадре.

Вроде как просвечивает она кратковременно, потому как у глоу плавное затухание. Попробовать бы его мгновенным сделать, возможно проблема исчезнет.
iOrange
Цитата(Zagolski @ 08.05.2019, 02:49) *
С тех пор, как научились делать бампы и динамические тени, графика в играх толком никуда не движется. Лишь полигонаж наращивают, да текстурки.

Позволю себе не согласиться.
Как минимум вы пропустили такие важные вещи как:
- Какой-никакой индирект (кто как, кто печет иррадианс волюмы, кто серфелы, кто в рилтайм контрейсит по вокселям)
- Адаптация PBR материалов (это был очень важный шаг, наконец мы вспомнили про закон сохранения енергии, теорию микрофасетов (а те что поумнее еще и мипы у нормалмап фильтруют по рафнесу) )
- sRGB пространство (ну да, внезапно вспомнили что яркость нелинейна)
- HDR + ACES tonemapping (дало возможность работать с физически корректными настройками лайтинга (в купе с PBS, естессно))

Так что графика двигалась, да. От этапа "ура, DOT3 появился комбайнер стейтами, можно ламинировать все подряд", до "мы наконец можем трейсить лучи и считать баунс, как минимум первый".
Diesel
Цитата(cjayho @ 08.05.2019, 04:29) *
Зы, и как всегда, файлы ecb_fx_generic.vs, effects_glow_p.ps, effects_gradient*, из моего ecbsp или с лостальфы (что то же самое), а обо мне как всегда ни слова mad_2.gif

А зачем ты мне их напихал? ohmy.gif Я шейдеры из ОГСЕ брал и Лост-Альфа. Напишу фамилию, мне не трудно. Я не знаю всех авторов, потому пишу только название модов.
Diesel
cjayho, я нашел тот момент, когда эти шейдеры затесались в эту сборку:

https://www.amk-team.ru/forum/topic/13331-b...comment=1047903

Я уже забыл - ИЗВИНЯЮСЬ!!!!

И это уже не первый случай. Как то Lagos меня материл, после чего пропал с АМК, с психу наверно.
cjayho
QUOTE (RayTwitty @ 08.05.2019, 01:43) *
QUOTE (cjayho @ 08.05.2019, 01:02) *
впервые текстура глоу не была утоплена в геометрию лампы у меня в ECBSP

Впервые она не была "утоплена" в билдах, 2205 или около того biggrin.gif Собственно решается копипастой в ТЧ.



Обалдеть.
Я еще удивляюсь что огсе воруют мои наработки?
Когда мне тут на серьезных щах уже рассказывают что я все время только и занимался что копипастой из билдов.

К твоему сведению, даже билдошейдеры из ecbsp были выпилены уже во второй-третий публиный релиз.
ed_rez
Цитата(iOrange @ 08.05.2019, 06:00) *
- Какой-никакой индирект (кто как, кто печет иррадианс волюмы, кто серфелы, кто в рилтайм контрейсит по вокселям)
- Адаптация PBR материалов (это был очень важный шаг, наконец мы вспомнили про закон сохранения енергии, теорию микрофасетов (а те что поумнее еще и мипы у нормалмап фильтруют по рафнесу) )
- sRGB пространство (ну да, внезапно вспомнили что яркость нелинейна)
- HDR + ACES tonemapping (дало возможность работать с физически корректными настройками лайтинга (в купе с PBS, естессно))

Ни один час потратил, чтобы разобраться в тексте. Сохранение энергии (2. пункт). Это как то влияет на ФПС?
Допустим, возьмем за разбор какую-нибудь работу для Сталкера, а именно, под ОГСЕ0693 с его рендером и шейдерами (родными):
Скриншоты

"Объект" подсвечивается фонарем на оригинальных настройках из мода. Что сделано не по фэншую? Все как есть, но желательно простым языком. Если какие-то материалы упоминаете, по типу, пластик, пластилин, горюче-смазочные..., то больше конкретики. Можно и о шейдерах, только без вкусовщины, а о реальных проблемах, если не составит труда.
ForserX
Цитата(cjayho @ 08.05.2019, 11:24) *
Я еще удивляюсь что огсе воруют мои наработки?
Когда мне тут на серьезных щах уже рассказывают что я все время только и занимался что копипастой из билдов.

Да ёпт, хватит уже разборок. Велком ту комьюнити
RayTwitty
Цитата(cjayho @ 08.05.2019, 11:24) *
Когда мне тут на серьезных щах уже рассказывают что я все время только и занимался что копипастой из билдов.

Речь шла конкретно за глоу и очередь его отрисовки. Поменять это можно различными способами (галка в SDK Shader Editor), можно его вообще с нуля (практически) написать как это сделал КД на р2.


2205 билд

Кичиться на форуме за свои "наработки" в виде измененной очереди отрисовки как в билдах - это звиздец, товарищи biggrin.gif
iOrange
Цитата(ed_rez @ 08.05.2019, 11:33) *
Ни один час потратил, чтобы разобраться в тексте

Посмотрите внимательно оригинальный пост - ответ не вам.
ed_rez
iOrange,
да-нет же. Я понимаю, что не мне. Мне бы понять какие ошибки есть в той работе, которую я выше показал. А также малость понять суть оценки работы освещения. К примеру, мой труд (хобби) тесно связан с рендером и шейдерами. Мне же приходится подгонять текстуры, бампы под то или иное освещение, чтобы не было пересветов и прочих визуальных дефектов. Ибо настройку их я делаю на дефолтных настройках, ибо в шейдерах, как порося в цитрусовых. Максимум, что сделаю, так прочитаю комментарии в файлах и покручу значения, другими словами, пальцем в небо.
Ты затронул тему, понятно, что она относится к освещению, но и к текстурам также. Естественное желание- улучшить качество своего хобби.
cjayho
QUOTE (RayTwitty @ 08.05.2019, 15:08) *
Поменять это можно различными способами (галка в SDK Shader Editor), можно его вообще с нуля (практически) написать как это сделал КД на р2.

Кичиться на форуме за свои "наработки" в виде измененной очереди отрисовки как в билдах - это звиздец, товарищи biggrin.gif


Кичиться тем что "сделал" кд на р2, "практически с нуля", это не меньший звиздец.
Тебе дать ссылку на это "сделал кд", которое СкайЛоадер сделал по моей просьбе для лостальфы лет пять назад?

огсешники совсем охренели, надо просто выпиливать все следы ихнего пребывания в своих работах и не иметь ничего общего с командой ворюг.

Зы. все такие сейчас шибко умные когда исходники есть. Где вы все были в 2011 году?
RayTwitty
Кто-нибудь объясните ему чем отличается просто перенесенный глоу-менеджер с р1 на р2 и вот это biggrin.gif


Цитата(cjayho @ 08.05.2019, 17:42) *
Зы. все такие сейчас шибко умные когда сходники есть. Где вы все были в 2011 году?

Он как бы это сделал ещё ДО слива исходников (см. дату видео) на чистом ассемблере, алё laugh.gif
Zagolski
Цитата(iOrange @ 08.05.2019, 07:00) *
Как минимум вы пропустили такие важные вещи как:

Я конечно же утрировал, смысл хотел донести, что каких-то значимых прорывов нет уже долгое время.

PBR конечно хорошо, но не прямо уж такой ох и ах. Все это было и раньше, просто из-за слабых мощностей железа в то время было неполноценным. Взять того же Сталкера 2007 г выпуска и вытащим из его бампа спекуляр. Чем не текстура шероховатости? Фонг по сравнению с кук-торренсом менее честный, но в игре визуально разница мало различима. Даже IBL в Сталкере есть, хоть урезанный и применяется редко где из-за высокой нагрузки. И это 2007 год! Сейчас конечно железо позволяет применять больше подобных фишек и делать их изощреннее. Вот и все улучшение графики по большей части.

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

Кстати, по поводу глоу. Не знаю кто как делает, но если создать в папке с шейдерами файлик effects_glow.s и отключить в нем z-тест "zb(false,false)", тогда глоу будут рисоваться поверх геометрии (но в т.ч. и поверх худа).
iOrange
Цитата(Zagolski @ 09.05.2019, 00:31) *
PBR конечно хорошо, но не прямо уж такой ох и ах. Все это было и раньше

Цитата(Zagolski @ 09.05.2019, 00:31) *
Взять того же Сталкера 2007 г выпуска и вытащим из его бампа спекуляр. Чем не текстура шероховатости?

Я так понимаю, вы слабо себе представляете что такое PBS в купе с PBR материалами, и в чем его суть?
PBR - это некий "стандарт" описания свойств поверхности. Что вы получите из бампа? Какую информацию?
Вам для корректного освещения, как минимум, нужно знать о микрофасетности поверхности, а так же о том металл это, или диэлектрик.
PBS - это аппроксимация уравнения рендеринга, которая сохраняет самое главное условие - сохранение енергии. Это позволяет добиться достоверных результатов освещения поверхности при любом освещении (естественно, работая в HDR диапазоне).

Цитата(Zagolski @ 09.05.2019, 00:31) *
Фонг по сравнению с кук-торренсом менее честный, но в игре визуально разница мало различима

Хоть Кук-Торренс и старый и неиспользуемый BRDF, но даже он учитывает микрофасетность, а отличие от тупого фонга. Еще раз - современные BRDF позволяют легко моделировать практически любую поверхность, которая будет адекватно реагировать на любое окружение. С моделью освещения по Фонгу вы застряли в начале 2000-х, где максимум получалось смоделировать ламинированный пластик.

Цитата(Zagolski @ 09.05.2019, 00:31) *
Даже IBL в Сталкере есть, хоть урезанный и применяется редко где из-за высокой нагрузки. И это 2007 год!

Странный повод для гордости. Half-Life 2 вышел в 2004-м году и имел и IBL, и некое подобие Spherical Harmonics (в HL2 - ambient cubes).

А что было в Сталкере для индиректа? Вопрос без подвоха, ибо я не в курсе.

При этом я не умоляю достоинств рендера Сталкера - сам тогда делал deferred renderer читая замечательную статью в Gpu Gems 2. А еще там был неплохой антиалиасинг, который на то время был большой проблемой всех deferred решений.

Но все же давайте будем честны сами с собой - графика в играх шагнула далеко вперед, аппроксимации rendering equation стали намного ближе к действительности, мы научились моделировать физически коррестные поверхности и источники света, научились грамотно расчитывать индирект (если кто 3d-artists здесь - вы используете термин GI), учитывать подповерхностное рассеивание (рендерим кожу правильно), анизотропию (рендерим волосы правильно) и многое другое.

Вот и весь мой поинт. rolleyes.gif
Zagolski
Цитата(iOrange @ 09.05.2019, 04:59) *
Хоть Кук-Торренс и старый и неиспользуемый BRDF, но даже он учитывает микрофасетность, а отличие от тупого фонга. Еще раз - современные BRDF позволяют легко моделировать практически любую поверхность, которая будет адекватно реагировать на любое окружение.

Я без понятия, какой сейчас BRDF используется в промышленных рендерах, может там все и супер реалистично стало (но и кадр рендерится по 8 часов). Я говорю про игры и графику в них. А там сейчас не только фонг продолжают использовать, но и уверен, частично банальный ламберт, чтоб фпс ниже плинтуса не опустить, особенно на консолях. Для индиректа часто продолжают юзать старые добрые лайтмапы (в Сталкере тоже они + рейтрейсингом на CPU освещение просчитано и в вершины запечено, как я понял). Я и говорю, что графика в играх движется как черепаха (отчасти спасибо консолям). Все упирается в фпс. Вот когда GPU будет в пяток раз помощнее нынешнего топа, начнут активнее рейтрейсить. Думаю, в ближайшие лет пять. Там уже и GI будет и другое. А сейчас железо пока слабовато, если даже IBL продолжают использовать заранее предрасчитанный (лайт-зонды).

Цитата(iOrange @ 09.05.2019, 04:59) *
PBR - это некий "стандарт" описания свойств поверхности. Что вы получите из бампа? Какую информацию?

Я про сталкерский бамп. В нем в одном из каналов лежит так называемый спекуляр. По сути это и есть текстура шероховатости. Из нее мы получаем информацию о гладкости поверхности и соответственно применяем силу и размер блика.

Цитата(iOrange @ 09.05.2019, 04:59) *
Но все же давайте будем честны сами с собой - графика в играх шагнула далеко вперед

Шагнула, но как по мне, не так уж и далеко. Но скоро грядут перемены, и хотя сейчас после выхода RTX это только началось, уверен, прогресс пойдет быстро.
Кстати, в большинстве случаев крутой графон в игре - это качественный левел-дизайн, а это по большей части всего лишь одни полигоны. smile.gif
Да и рядовой игрок без понятия, что там смоделировано физически корректно или нет. Блестит и хорошо. Так зачем тратить 50% фпс на достоверное моделирование волос или шерсти, если можно обманку соорудить. Отсюда и растут все эти лоды, лайт-зонды и другие фейки. Вон, в Метро последнее я поиграл, так там отражение в воде - этот отвратный скринспейс. И где тут графика шагнула вперед?
cjayho
QUOTE (iOrange @ 09.05.2019, 03:59) *
Хоть Кук-Торренс и старый и неиспользуемый BRDF, но даже он учитывает микрофасетность, а отличие от тупого фонга. Еще раз - современные BRDF позволяют легко моделировать практически любую поверхность, которая будет адекватно реагировать на любое окружение. С моделью освещения по Фонгу вы застряли в начале 2000-х, где максимум получалось смоделировать ламинированный пластик.


Эм. Я не настолько в дебри лез, знаю только блинн, фонг, орен-найяр, кук-торренс. А какие тогда более современные?

И вообще, можно ли генерацию диффуз и спекуляр текстуры, а потом натягивание ее на модель, вообще считать полноценным BRDF?

В сталкере есть пяток прегенеренных текстур для разных видов затенения, вот собственно и все:

code

CODE
                        switch    (slice)
                        {
                        case 0:    { // looks like OrenNayar
                            fd    = powf(ld,0.75f);        // 0.75
                            fs    = powf(ls,16.f)*.5f;
                                }    break;
                        case 1:    {// looks like Blinn
                            fd    = powf(ld,0.90f);        // 0.90
                            fs    = powf(ls,24.f);
                                }    break;
                        case 2:    { // looks like Phong
                            fd    = ld;                    // 1.0
                            fs    = powf(ls*1.01f,128.f    );
                                }    break;
                        case 3:    { // looks like Metal
                            float    s0    =    _abs    (1-_abs    (0.05f*_sin(33.f*ld)+ld-ls));
                            float    s1    =    _abs    (1-_abs    (0.05f*_cos(33.f*ld*ls)+ld-ls));
                            float    s2    =    _abs    (1-_abs    (ld-ls));
                            fd        =    ld;                // 1.0
                            fs        =    powf    (_max(_max(s0,s1),s2), 24.f);
                            fs        *=    powf    (ld,1/7.f);
                                }    break;
                        default:
                            fd    = fs = 0;
                        }



fd и fs соответственно диффуз и спекуляр составляющие.
cjayho
QUOTE (Zagolski @ 09.05.2019, 05:58) *
Я про сталкерский бамп. В нем в одном из каналов лежит так называемый спекуляр. По сути это и есть текстура шероховатости. Из нее мы получаем информацию о гладкости поверхности и соответственно применяем силу и размер блика.


Не спекулярмапом единым. Для PBR надо куда больше параметров, насколько я знаю.
macron
Смотрю, тема опять поперла. Поделюсь своей давней говнонаработкой для r2 ТЧ, вдруг до ума доведете. Короче, пришла идея добавить псевдобампоблеск траве, ибо почему-то бампами она обделена. Прописал какие-то универсальные бампы в textures.ltx как:

[specification]
build_details = bump_mode[use:trees\trava_bump], material[3.30]
level_details = bump_mode[use:trees\trava_bump], material[3.30]

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

https://yadi.sk/d/kq4d8TLpQHeD4w
iOrange
Zagolski - "Я говорю про игры и графику в них. А там сейчас не только фонг продолжают использовать, но и уверен, частично банальный ламберт, чтоб фпс ниже плинтуса не опустить, особенно на консолях
"

Я не понимаю зачем вы гадаете, если я вам и рассказываю что применяется в современныхъ играх последние лет так 7 уже.


Zagolski - "получаем информацию о гладкости поверхности и соответственно применяем силу и размер блика."

силу и размер блика - я вам выше расписал что все ушли к более-менее физически корректному описанию поверхности, а вы все про pow(dot(r,n), 16), ребята, 2019-й на дворе, не 2001-й.
Нет такой вещи как "блик", есть только свет - приходящий (irradiance) и исходящий (radiance), ваша задача - понять сколько света отдать, все, точка.


Zagolski - "Для индиректа часто продолжают юзать старые добрые лайтмапы "

Очень мало кто их продолжает использовать в чистом виде, ибо контент становится дорогой, пространственные решения, отвязанные от геометрии, лучше и быстрее (на этом GDC у Санта Моники был неплохой доклад о нормализации енв проб по лайт пробам и решения проблем визибилити, рекомендую)


Zagolski - "Так зачем тратить 50% фпс на достоверное моделирование волос или шерсти, если можно обманку соорудить"

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


Zagolski - "там отражение в воде - этот отвратный скринспейс. И где тут графика шагнула вперед?"

1) А что в них отвратного?
2) Где шагнула - я так понимаю у вас в 2007-м тоже были динамические отражения?


Zagolski - "отчасти спасибо консолям"

Вот возле меня 2 дев кита - PS4 Pro и XB1X - и я вам могу точно сказать что перформанс на выходе там как у приличного ПК, а возможностей по оптимизации - несравнимо выше (даже для обычных ps4 и xb1, даже в dx11 позволить на них себе можно больше (те же асинки, доступ к DMA, на ps4 вообще лафа))
Или вы опять судите по информации 2007-го года?


Zagolski - "Там уже и GI будет и другое"

По косвенным признакам я догадался что вы 3D-художник, не программист. Потому прошу прощения за стиль написания, буду использовать другие термины.
Так вот GI (странный термин, но не страшно) в играх есть уже давно, а последние лет 5 - еще и в динамике.
Народ делает серфелами (Юбисофт, Siege), релайтит кубмапы и пробы (Санта Моника, GoW), трейсит воксели (разные подходы, от древнего LPV, до интересного с релайтом G-Buffer'a у Юдинцева).


Zagolski - "Отсюда и растут все эти лоды, лайт-зонды и другие фейки."

Простите, не понял как ЛОДы относятся к освещению. Еще не знаком с понятием "лайт-зонд".


cjayho - "Эм. Я не настолько в дебри лез, знаю только блинн, фонг, орен-найяр, кук-торренс. А какие тогда более современные?"

Практически все используют Disney BRDF.
Орен-Найяр была первой попыткой начать использовать G-составляющую поверхности.
Кук-Торенс было уже продвинутей, ближе к тому что используется сейчас.


cjayho - "И вообще, можно ли генерацию диффуз и спекуляр текстуры, а потом натягивание ее на модель, вообще считать полноценным BRDF?"

Опять же - я знаком с рендером Сталкера только из статей в Gpu Gems, не более. Потому не знаю подробностей.


Просто я зацепился взглядом за выражение "со времен Сталкера и нормалмаппинга графика не развивалась". Это как минимум неверное в корне утверждение, и более того - оскорбительное. Получается мы (те кто этот самый графоний и пилит) - все это время сидели на печке с плевали в потолок.
Интересно однако.

Ок, давайте так, вы выпишете несколько основных решений в Сталкере (что для директа, что для индиректа, как лайтятся партиклы, как работает индирект (тот который GI)), каллинг и прочее.

А я вам на него составлю список современных решений, и посмотрим - таки шагнула или нет. Идет?

Цитата(cjayho @ 09.05.2019, 16:01) *
Не спекулярмапом единым. Для PBR надо куда больше параметров, насколько я знаю.

Вам как минимум нужно знать метал это или диэлектрик, т.к. они по разному реагируют на свет.
Zagolski
Цитата(macron @ 09.05.2019, 17:01) *
пришла идея добавить псевдобампоблеск траве, ибо почему-то бампами она обделена

А зачем траве бамп? Она же плоская, как и листья деревьев. С бампом только производительность снизится. А блеск ей можно увеличить через def_gloss, для flat объектов ведь та же модель освещения используется, только этот параметр применяется вместо спекуляра бампа.
Расчет освещения травы/листьев лучше вообще в vs шейдер перенести, я так 10% фпс выиграл (правда, на forward, на отложенном не делал).

Цитата(cjayho @ 09.05.2019, 17:01) *
Не спекулярмапом единым. Для PBR надо куда больше параметров, насколько я знаю.

Можно одним только им обойтись, заюзать PBR Specular Glossiness, металличность можно исключить, все равно в сталке одна ржавчина кругом (диэлектрик). А так берем спекуляр, кук-торренс и настраиваем все это дело. Вот и готов PBR, не идеальный, но лучше чем ванильное освещение. С металличностью придется все текстуры перекраивать, ну не все, а как минимум мобов и оружия. Либо из другой игры надыбать модельки с уже готовыми нужными текстурами. Вот к новому Метро можно присмотреться, камрад iOrange как раз недавно распаковщик ресурсов забацал.
Diesel
Цитата(iOrange @ 09.05.2019, 19:15) *
Вам как минимум нужно знать метал это или диэлектрик, т.к. они по разному реагируют на свет.

Не советую лезть графитом к фазе. biggrin.gif
iOrange
Цитата(Дизель @ 09.05.2019, 17:22) *
Не советую лезть графитом к фазе.

Да ладно, кто в молодости не разгонял дешевые Дюроны замыканием ножек? Мы как-раз таки графитом и замыкали wink.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.