Перейти к содержанию
Deathman

Nocturning studio project X

Рекомендуемые сообщения

 
 
57 минут назад, I am dead сказал:

Ну как же, на OXR ты неплохо таки трепался

Я ни разу не сказал о том, что это некст ген проект или ремастер

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, Deathman сказал:

а в NSPX я steep parallax использую на всех поверхностях

Остался только вопрос, зачем?)


Дополнено 5 минуты спустя
1 час назад, Deathman сказал:

В тч и нет steep parallax, эта проблема пришла еще с зова Припяти и пошла по второй сталкер, оба алгоритма были у меня в NSPX, в parallax.h у меня steep parallax от зова Припяти, в psf_parallax напрямую из второго сралкера и проблема одна - мы идем за UV

Внезапно, это проблема всех алгоритмов параллакса. Есть конечно силуэтный или как он там.


Дополнено 9 минуты спустя

Wg-Ym-I2-X8-Sn-A.jpg

Скрин не мой, но сталкерский. Цитирую хабр

"Также видны и странные артефакты вдоль границ оттекстурированной плоскости. Появляются они вследствие того, что смещенные алгоритмом Parallax Mapping текстурные координаты могут выпасть за пределы единичного интервала и, в зависимости от режима повторения текстуры (wrapping mode), вызвать появление нежелательных результатов. Простой способ избавления от таких артефактов – просто отбросить все фрагменты, для которых текстурные координаты оказались вне единичного интервала"

  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

нет желания добавить скриптовые методы с x-ray extensions там?

будет тогда неплохой альтернативой ему самому ибо тут графические возможности шире

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
3 часа назад, Deathman сказал:

А во-вторых я считаю так и до сих пор и мне плевать

Тут можно в игнор добавлять всяких придурков, если что 😉

  • Смех 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 01.03.2023 в 22:17, mrmnwar сказал:

Остался только вопрос, зачем?)


Дополнено 5 минуты спустя

Внезапно, это проблема всех алгоритмов параллакса. Есть конечно силуэтный или как он там.


Дополнено 9 минуты спустя

Wg-Ym-I2-X8-Sn-A.jpg

Скрин не мой, но сталкерский. Цитирую хабр

"Также видны и странные артефакты вдоль границ оттекстурированной плоскости. Появляются они вследствие того, что смещенные алгоритмом Parallax Mapping текстурные координаты могут выпасть за пределы единичного интервала и, в зависимости от режима повторения текстуры (wrapping mode), вызвать появление нежелательных результатов. Простой способ избавления от таких артефактов – просто отбросить все фрагменты, для которых текстурные координаты оказались вне единичного интервала"

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


Дополнено 1 минуту спустя
В 01.03.2023 в 22:50, imcrazyhoudini сказал:

нет желания добавить скриптовые методы с x-ray extensions там?

будет тогда неплохой альтернативой ему самому ибо тут графические возможности шире

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

Изменено пользователем Deathman

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
2 часа назад, Deathman сказал:

попробую завершать работу алгоритма если текстурные координаты оказались больше единицы

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


Дополнено 2 минуты спустя

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 02.03.2023 в 10:07, mrmnwar сказал:

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


Дополнено 2 минуты спустя

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Из новостей по продвинутому статическому освещению.
Технически он сейчас называется r1.5, но изначально я назвал этот рендер r1.2, чтобы r1.5 оставить под deffered вариант статики, не думаю что я еще сяду заниматься этим, так что переименовал в r1.5.
На нем доступны:
Цветовые абберации,
Винъетирование,
Маска на террейнах, для того чтобы переходы от текстур были мягкими,
Что-то типа порта мягкой воды на статику, автора которого я не помню, собственно как и то, что я вообще это когда-то переносил к себе, в будущем сделаю свою версию с нормальным стилем кода.
В будущем добавлю поддержку BakedAO карт.

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

NSPX 1.1.5 выйдет не скоро и как завещали авторы я скажу "когда оно будет готово", хотя в принципе кто вообще его ждет, так что зачем я вообще это пишу

  • Мастер! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Поддержка Baked AO текстур добралась и до первого рендераspacer.pngspacer.pngspacer.pngspacer.png

  • Лайк 2
  • Мастер! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Deathman так статика r1 - это дх9 или дх8.1?

насколько мне известно - дх9, а дх8 был в билдах

но у тебя в меню указано дх8.1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, imcrazyhoudini сказал:

Deathman так статика r1 - это дх9 или дх8.1?

насколько мне известно - дх9, а дх8 был в билдах

но у тебя в меню указано дх8.1

Объясняю
В самом начале, с первого билда Oblivion lost, вся игра держалась на DX8.1 и рендер был написан на нем.
На чем держалась игра с 31 января 99 года, указанного в xrCore как дата создания движка по 12 ноября 2000 года, когда вышел DX8.0 или до 25 октября 2001, когда вышел DX8.1 я не знаю, возможно на DX7
Дальше, 25 декабря 2002 года выходит DX9.0a и в следующем же билде после демо на Е3 2003 года, датированной 5 марта 2003 и имеющей номер 1465, в билде 1469, код которого кстати у меня есть, датированном 9 мая 2003 года первый рендер переехал на DX9 с принудительным использованием пиксельных и вершинных шейдеров версии 1.1, что дает полную совместимость с DX8.1 видеокартами, а также появился второй рендер, использующий уже DX9.0a.
Так первый рендер работал и до релиза тени Чернобыля и в чистом небе, где мы используем DX9 с одним рендертаргетом и шейдерами, использующими только 1.1 модель, а в зове Припяти, когда добавляли колормаппинг, появилось использование 1.4 шейдерной модели, но только если она доступна.
Минусом 1.1-1.4 шейдерных моделей является ее ограниченность, вызванная ограниченностью видеокарт, для которых они были потолком, самые показательные ограничения это возможность использования только 4 текстур в одном шейдере, для каждой из которых из вершинного шейдера должны идти свои собственные наборы координат из семантики, которая идет из вершинного шейдера, а также возможность использования только четырех наборов текстурных координат и по-моему около 64 математических инструкций на шейдер.
Я сделал режим, который позволяет мне использовать либо отдельные шейдеры, использующие 2.0 шейдерную модель, либо же дающий мне возможность в нужных местах спрятать какие-то операции под директивное условие, которое будет спрятано на обычном первом рендере и назвал его r1.5.
Если найдется кто-то, кто может нормально владеть движком, можно будет взять второй рендер, отрезать от него вообще все кроме геометрического буфера и прочего, перевести на полное статическое освещение, а не Lightmap солнце с шадовкастом от ламп как на r2a, мне написать для него шейдеры на 1.4 шейдерной модели с ноля и заменить этим рендером статику, что даст огромные возможности в плане эффектов и постпроцесса, но это уже не будет рендер который запустится на условной ATI 9600 к примеру, но это будет красивая статика, которая будет иметь Normal mapping и кучу всего остального, что можно будет добавить без огромного количества возни с forward rendering


Дополнено 12 минуты спустя

Не знаю зачем я это говорю - забавный факт, в чн, раньше, когда DX10 только добавляли, рендер, его использующий назывался не R3, а R_DX10


Дополнено 18 минуты спустя

Еще один забавный факт 😄
В тени Чернобыля можно было использовать только SLI из двух видеокарт и то, не ясно из каких, а в чистом небе появились NVAPI и библиотека определения GPU от ATI и в чн и зп можно использовать рендер на одновременно до 8 картах. Но не на первом рендере, он использует только один GPU

Изменено пользователем Deathman
  • Лайк 3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Deathman увлекательно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

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


Дополнено 2 минуты спустя

Решил кстати собрать файловый сервер и по совместительству второй мини-пк на ASrock AD2550B-ITX, средне-низкие и низкие настройки буду теперь оптимизировать под такое железо, по крайней мере попытаюсь, не знаю что из этого выйдет

Изменено пользователем Deathman
  • Лайк 1
  • Жму руку 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
5 часов назад, Deathman сказал:

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

Передохни, конечно!  Выгореть недолго.

5 часов назад, Deathman сказал:

Решил кстати собрать файловый сервер и по совместительству второй мини-пк на ASrock AD2550B-ITX, средне-низкие и низкие настройки буду теперь оптимизировать под такое железо, по крайней мере попытаюсь, не знаю что из этого выйдет

Интересная мысль. Еще бы тогда и разрешение экрана другое использовать. Наши геймеры помимо 16х9 еще и 16х10 юзают, и, как оказалось у некоторых до сих пор 4х3 в активе

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
21 минуту назад, sumrak6835 сказал:

Передохни, конечно!  Выгореть недолго.

Интересная мысль. Еще бы тогда и разрешение экрана другое использовать. Наши геймеры помимо 16х9 еще и 16х10 юзают, и, как оказалось у некоторых до сих пор 4х3 в активе

Касательно разрешения

Во-первых я сам использую монитор 4:3

Во-вторых в NSPX технически нет ограничения, которое отсеивает разрешения, потому как раз и можно выбрать хоть 480р, но мне кажется другое соотношение сторон все равно не получится выбрать, потому что варианты интерфейса есть только для 4:3 и 16:9, нужно либо добавлять новый вариант, либо делать автомасштабирование из 1024*768 под любое разрешение математическими операциями с координатами и масштабом элементов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 07.02.2023 в 23:09, Deathman сказал:

3. Лампы по локациям могут быть "Погрызаны" - природа неизвестна.

Насколько я помню, древний баг еще оригинала. Там что-то связано с "освещением" от солнца (через геометрию), как мне говорил K.D.

https://github.com/KD87/xray-extensions/commit/490895c78d88f90bfc0fc97a97b26416003da7b5

Если не ошибаюсь, вот коммит с исправлением для xray extensions.

В 07.02.2023 в 23:09, Deathman сказал:

4. Сталкеры могут "уронить" фонари утром - природа неизвестна.

Возможно фонарям не был включен аттач на модель. Проверь, отработала ли функция enable_attachable_item в sr_light.script. Без этого фонарь включится, но будет светить по координатам владельца (НПС) под ногами.

Изменено пользователем RayTwitty
  • Жму руку 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
2 часа назад, RayTwitty сказал:

Насколько я помню, древний баг еще оригинала. Там что-то связано с "освещением" от солнца (через геометрию), как мне говорил K.D.

https://github.com/KD87/xray-extensions/commit/490895c78d88f90bfc0fc97a97b26416003da7b5

Если не ошибаюсь, вот коммит с исправлением для xray extensions.

Возможно фонарям не был включен аттач на модель. Проверь, отработала ли функция enable_attachable_item в sr_light.script. Без этого фонарь включится, но будет светить по координатам владельца (НПС) под ногами.

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

Изменено пользователем Deathman

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Отчасти отдохнул полностью пройдя Unreal tournament 3 и снова сел за NSPX перед переездом.
Решил разгребать проблему оптимизации и производительности в проекте.
Начал с Ambient occlusion, шума, его семплов и шумоподавления.
Мне всей душой все равно кто, что, каким образом и как в меня кинет или скажет, но на ультра качестве AO под шумоподавлением выглядит теперь так
spacer.pngspacer.pngspacer.png
Я использую метод, отдаленно напоминающий метод, описанный в этой статье - 
https://aras-p.info/blog/2009/09/17/strided-blur-and-other-tips-for-ssao/
Я использую не попиксельный квадратный фильтр или глубинно-базированный диагональный, а попиксельный квадратный с пропуском части координат, что эквивалентно описанному в статье. Я не программист, я не знаю как написать это циклом, поэтому как и другие фильтры я реализовал все массивом координат и перебором его элементов в цикле
spacer.png
Мне достаточно того что я не вижу шума и имею вменяемую производительность
SSAO, качество ультра - 30 FPS
HDAO, качество высокое - 30 FPS
HBAO+, качество среднее - 30 FPS
Видеокарта - GTX260OC
Пресет - высокий
spacer.pngspacer.pngspacer.pngspacer.png

Второе - я провел много работы над рельефом.
Во-первых я изменил свою политику по части качества steep parallax и его дальности отрисовки.
Я уменьшил количество семплов на основных, детальных и террейновых текстурах так, чтобы это выглядело хорошо и без эффекта волн, и про этом было максимально производительно.
Во-вторых я внедрил новую идею.
LOD система для рельефа текстур.
Начал я с того, что решил вызывать расчет parallax mapping за границей радиуса расчета steep parallax mapping, что дало мне еще больше убавить ее, без влияния на общий вид окружения. Вместе с этим я решил использовать систему убавления влияния steep parallax на вообще всем радиусе его работы, вместо пяти-десяти метров до его конца, что как раз и дало мне возможность использовать незаметно переход от steep parallax к parallax.
Пример исполнения для обычных поверхностей:
spacer.pngspacer.png
Следующим шагом я пошел еще дальше.
Я сделал возможность настраивания дальности просчета даже для parallax mapping
spacer.png
То есть слова про LOD систему для рельефа это вообще не шутка.
При включенном steep parallax у нас реально рельеф делится на области детализации
Первые 10 метров - область максимальной детализации
С 10 по 20 метров область средней детализации
С 20 метров область работы normal mapping, наименьшая детализация.

Для детальных текстур развесовка еще меньше - 8 метров граница ближняя, 15 дальняя.

Высокие настройки качества с элементами ультра и всеми steep parallax на GTX260OC:
spacer.pngspacer.png

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

Изменено пользователем Deathman
  • Мастер! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
4 часа назад, Deathman сказал:

Следующим шагом я пошел еще дальше.
Я сделал возможность настраивания дальности просчета даже для parallax mapping
spacer.png

Мотор и без этого отрубает параллакс на больших расстояниях
 

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м игровых не имеет смысла, прирост в кадрах будет существенный. Фильтрацию для карты высот естественно анизотропную юзать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Про hq/lq шейдеры и tex2Dlod с нолевым мипбиасом я давно знаю. Систему лодов для рельефа я сделал для того чтобы управлять детализацией поверхностей до перехода геометрии из hq состояния в lq. То есть мы имеем не три, а четыре стадии детализации. 

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

 


Дополнено 47 минуты спустя

Selflight шейдер идет на фиг ребят - в NSPX есть поддержка эмиссивных карт. ДЛЯ ВООБЩЕ ВСЕГОspacer.pngspacer.png


Дополнено 48 минуты спустя

Не знаю как остальные, а я сейчас праздную вот под это
https://youtu.be/lYk86O8NzM0

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
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] для текстур.

Изменено пользователем mrmnwar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
59 минут назад, mrmnwar сказал:

Попробуй взять готовый код подключения параллакса из репозитория 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] для текстур.

Я это тоже пробовал и снова облажался, причем даже не один раз, попробую еще раз в будущем

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Установил, запустил. Выбрал в настройках последний рендер и 2560 разрешение.
Игра не запускается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
6 часов назад, cyberian сказал:

Установил, запустил. Выбрал в настройках последний рендер и 2560 разрешение.
Игра не запускается.

Можно пожалуйста лог ошибки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Ошибки нет. Просто черный экран сразу после запуска игры.
Причем все работает после удаления user.ltx и возвращения ориг из сборки.

А как я выставлю 1440р и ласт рендер - описанная проблема.


Дополнено 8 минуты спустя

Ну в общем с какого-то раза игра просто запустилась, но пришлось долго ждать.
Побегал, фпс в районе 90-120 (i5 10400f + 1080 Ti). 

Попробовал выставить DLAA с обнаружение краёв - игра намертво зависла после применения настроек.
При перезапуске вернулся к первой проблеме. Закинул ориг user.ltx из сборки, не помогает. Попытаюсь еще.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Последние посетители   1 пользователь онлайн