mrmnwar
-
Публикаций
14 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные mrmnwar
-
-
2 часа назад, Deathman сказал:И также я пытался сделать возможность использования steep parallax только для определенных текстур. Я не могу это сделать.
Попробуй взять готовый код подключения параллакса из репозитория KD87
https://github.com/joye-ramone/xray_xp_dev
открой uber_deffer.cpp
if (C.bParallax) strcat (ps,"_steep");
И переноси все что связано с C.bParallax, там не сложно (выделяешь C.bParallax и жмёшь "найти все ссылки")
По итогу у тебя в textures.ltx должен заработать флаг parallax[yes/no] для текстур.
-
4 часа назад, Deathman сказал:Следующим шагом я пошел еще дальше.
Я сделал возможность настраивания дальности просчета даже для parallax mappingМотор и без этого отрубает параллакс на больших расстояниях
void uber_deffer (CBlender_Compile& C, bool hq, LPCSTR _vspec, LPCSTR _pspec, BOOL _aref, LPCSTR _detail_replace, bool DO_NOT_FINISH)
bool hq как раз за это и отвечает.
strcat (vs,"-hq"); strcat (ps,"-hq");
Т.е. если hq==true (вроде там дистанция в 50м игровых) подключаются шейдеры с постфиксом -hq которые в себе содержат макрос USE_PARALLAX, и наоборот.
По аналогии можешь создать и флаг включения стип параллакса для конкретных текстур в uber_deffer.cpp и ресурс менэджере и его так же нужно будет запрятать под hq ну и применять фэйдинг который ты показал, потому что вещь ресурсоемкая. Еще по оптимизации конечно же стоит использовать только tex2Dlod с нулевым мипом (один хрен параллакс дальше 12м игровых не имеет смысла, прирост в кадрах будет существенный. Фильтрацию для карты высот естественно анизотропную юзать.
-
В 28.02.2023 в 03:02, RayTwitty сказал:Кстати VL и SSR есть в открытом доступе (сами шейдеры), просто надо потратить время на изучение и внедрение их в движок
Могу помочь с этим.
-
2 часа назад, Deathman сказал:попробую завершать работу алгоритма если текстурные координаты оказались больше единицы
Для моделей сталкера такое не прокатит. Большая часть развертки там и так лежит в диапазоне больше 1, так как в основном текстуринг там тайловый. Только для отдельных объектов подойдет.
Дополнено 2 минуты спустяСамым логичным решением будет все таки использование на нужных текстурых, как оно сделано в чн,зп, либо пилить другой параллакс.
-
1 час назад, Deathman сказал:а в NSPX я steep parallax использую на всех поверхностях
Остался только вопрос, зачем?)
Дополнено 5 минуты спустя1 час назад, Deathman сказал:В тч и нет steep parallax, эта проблема пришла еще с зова Припяти и пошла по второй сталкер, оба алгоритма были у меня в NSPX, в parallax.h у меня steep parallax от зова Припяти, в psf_parallax напрямую из второго сралкера и проблема одна - мы идем за UV
Внезапно, это проблема всех алгоритмов параллакса. Есть конечно силуэтный или как он там.
Дополнено 9 минуты спустяСкрин не мой, но сталкерский. Цитирую хабр
"Также видны и странные артефакты вдоль границ оттекстурированной плоскости. Появляются они вследствие того, что смещенные алгоритмом Parallax Mapping текстурные координаты могут выпасть за пределы единичного интервала и, в зависимости от режима повторения текстуры (wrapping mode), вызвать появление нежелательных результатов. Простой способ избавления от таких артефактов – просто отбросить все фрагменты, для которых текстурные координаты оказались вне единичного интервала"
- 1
-
В 27.02.2023 в 20:01, Deathman сказал:просто режим работы оригинального первого рендера с штуками вроде маски на террейнах, для плавных переходов между текстурами деталей на земле и прочего функционала, для которого DX8.1 или DX8.2 недостаточно в виду ограничения количества инструкций на шейдер или количества семплеров
А вот это уже годно, хрен поспоришь😉Надо себе на заметку взять эту фичу.
-
Deathman причем тут вообще ртх не понятно) Сделай ты отдельной разработкой hashed alpha test с темпоральным сглаживанием вместо трех алгоритмов сгладки, тебе бы все сборки на аномали только спасибо сказали😁, и не говори что это не выполнимо на сталкере.
-
5 минут назад, Deathman сказал:И также если не видел то что я делаю сам
Я тоже умею переписывать код сталкера)
5 минут назад, Deathman сказал:Забавный факт - ты сам этого не сделал в сталкере чтобы такое заявлять.
Забавный факт в том, что ты незнаешь того, что я сделал, потомучто я не кричу об этом налево и направо как вы о новых эффектах постобработки)
- 1
-
Deathman камон, не будь таких громких заявлений, никто бы и не придирался.
Ты обсираешь код разработчиков, хотя сам просто его переписываешь😁У тебя нет ничего фундаментального, что заставило бы кардинально менять принцип построения рендера и переписывать рабочие шейдеры.
Не мало было таких разработок века, где и шейдеры шифровали и вообще без регистрации и смс фиг скачаешь, потому что разработка мега некст-ген. Хотя по сути если разобраться, как обычно накидают эффектов постобработки которые в огсе еще 2013 переживали(но мы их перепишем, мы же умнее). Короче все это давно пройдено.
Пора делать вещи которые реально нуждаются во внимании, а не бросаться громкими заявлениями и делать всякие ремейки,редаксы,апдейты с кучей постобработки.
Где вы все когда нужно сделать нормальное освещение для частиц, нормальное освещение полупрозрачной геометрии, нормальный альфатест, енв пробы для отражений? Когда мы научимся делать освещение форвард рендеринга вообще? А туман вообще кто-нибудь в силах переделать сегодня? А, точно, вы в это время пилите новый sussao) super-ultra-screen-space-ambient-occlusion.
Ciao.
- 1
-
28 минут назад, Deathman сказал:типичный combine_1 для примера
И что там не так?) Я начинаю думать, что отладочные макросы ты посвятил в "неведомую мешанину"😁
29 минут назад, Deathman сказал:раз пошло все в этом направлении то я видел твой код объемного света
Раз на то пошло, то я и не писал код объемного света🤔А если ты о саншафтах, дак это "каракули"(нет) крайтек.
37 минут назад, Deathman сказал:3 - Опять же тот же первый этап сборки кадра, тот же шейдер SSAO и многие другие, когда я сел добавлять параллаксы в шейдер террейна я был в шоке, ибо это самый отвратительный код из всех что я видел, переписывать его пришлось полностью, open-closed принципу он не следует вообще.
Начал за ssao, закончил за упокой) Если бы ты хоть немного поработал с СДК и компилятором, то возможно понимание того, зачем так написан шейдер, к тебе бы пришло.
-
52 минуты назад, Deathman сказал:омерзительные каракули
С такими громкими заявлениями лучше прикладывать какие-нибудь доказательства)
55 минут назад, Deathman сказал:а не поганой мазней, в которой половина кода это однобуквенные переменные
Это например?
57 минут назад, Deathman сказал:а вторая половина это закомментированный код, который когда-то использовался и вдруг его решили заменить
Опять же, вилами по воде)
59 минут назад, Deathman сказал:специально для нее я и решил развивать систему блоков, из которых строится хаб работы с поверхностями
С твоих слов. Сначала ты вырезал "бесполезный" surface loader(sload), а теперь хочешь его воссоздать?)
-
Deathman зачем вообще переписывать то, что и так работает как надо?
Дополнено 1 минуту спустяТем более, что в данной работе нет ничего фундаментального, что вынуждало бы переписывать рабочие шейдеры.
-
Nocturning studio project X
в Устаревшие темы
Опубликовано
Deathman та не заморачивайся) все перегорают, потом снова что-то делают. Мой совет, займись отдельными правками и выкатывай их в народ в кач-ве стэндалоун на какие-нибудь сборки или моторы. И времени меньше тратить будешь, и пользы больше) Идей много на самом деле, которые пока нигде не реализовали.