HLFX.Ru Forum Страницы (255): « Первая ... « 197 198 199 200 [201] 202 203 204 205 » ... Последняя »
Показать все 3825 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Наши проекты (https://hlfx.ru/forum/forumdisplay.php?forumid=1)
-- XashNT: блог разработчика (https://hlfx.ru/forum/showthread.php?threadid=5297)


Отправлено Дядя Миша 04-10-2023 в 18:15:

Цитата:
Crystallize писал:
Будет ли сильно красивее в третьем думе если вместо первой формулы там в шейдерах поставить вторую?

Аа, ты про это. Я думал про тангент-спейс. Ну помягче станет освещение, да.
Но и бамп станет менее чётким.

Decay это Роберт делал.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено a1batross 05-10-2023 в 10:32:

Цитата:
FiEctro писал:
Всё мелкое да и данных мало.


Напомнило то что сделал себе provod в своём рендерере с Vulkan для нашего Xash3D FWGS.
https://cdn.discordapp.com/attachme...82/IMG_4720.mov

__________________
Xash3D FWGS форк


Отправлено FiEctro 05-10-2023 в 10:57:

a1batross
Как то там всё прыгает и накладывается друг на друга у него что вообще можно разобрать?

Цитата:
Дядя Миша писал:
Так же как и на статическом уровне. Единственная проблема - у меня нету карт нормалей для этих моделек из ремастера. Не на чем тестировать.


Для теста можно и самому сгенерировать. Вот держи такая утилита есть:

https://www.youtube.com/watch?v=hHH178pgS1w
http://boundingboxsoftware.com/materialize/

Тут не только нормальки, но и PBR собрать можно.

Для ssbump можно вот это попробовать:
https://www.youtube.com/watch?v=J5cvlzjjpew
https://sourceforge.net/projects/ssbumpgenerator/

Чтобы не мучаться с поиском подходящих текстур.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 05-10-2023 в 12:12:

Цитата:
FiEctro писал:
Вот держи такая утилита есть:

Спасибо, попробую.

Цитата:
FiEctro писал:
Для ssbump можно вот это попробовать:

RNM я когда-нибудь потом запилю.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено a1batross 05-10-2023 в 16:20:

FiEctro там не накладывается, но прыгает. Сверху фреймтайм от двух последних кадров. Слева графики.

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

__________________
Xash3D FWGS форк


Отправлено FiEctro 05-10-2023 в 16:32:

a1batross
В любом случае выглядит как мешанина, там ещё и старый интерфейс под ним.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено a1batross 05-10-2023 в 20:45:

FiEctro какой старый? Там ничего старого нет, весь рендер вообще с нуля написан, за редкими исключениями, и то временными.

__________________
Xash3D FWGS форк


Отправлено FiEctro 05-10-2023 в 21:30:

a1batross


Почему все линуксоиды не умеют/любят UI?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено FiEctro 06-10-2023 в 09:19:

Дядя Миша
Кстати, а какой порядок каналов для нормалей у тебя? Можно в мета файле ресурса указать тип нормали?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 06-10-2023 в 09:48:

Хмм, бамп-маппинг появился на этой неделе. Я над подобными вещами просто не задумывался. Потом разберёмся.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 06-10-2023 в 11:06:

Дядя Миша
Как референс можешь глянуть в Юнтити при импорте ты можешь настроить метаданные для текстур и моделей. Ещё до того как она попадёт в материал и шейдер. Что позволяет быстро заменять текстуры не исправляя кучу материалов.


В Texture type задаётся к чему относить эту текстуру, к текстуре, спрайту, нормали, кубамапе, UI, лайтмапе.

https://docs.unity3d.com/2021.3/Doc...xtureTypes.html

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 06-10-2023 в 16:45:

У меня мета-материалы. Можно исправить саму настройку материала, добавить туда новый функционал. Так что думаю, проблемы нет.

Ну чтож, сегодня наконец сбылась мечта идиота - попиксельные лайтстили.
Вы вероятно над этим не задумывались, но корректное смешение лайтстилей на GPU - это архисложная задача. Вот так, чтобы не разбивать батчи по сурфейсам, каждый из которых имеет свой набор лайтстилей, что в общем случае крайне негативно сказывается на производительности. К тому же лайтстили, приложенные к сурфейсу не дружат с инстанс-моделями.
И вообще стили должны быть привязаны к лайтгруппе. а лайтгруппа это виртуальное понятие, которым оперирует только лайтмаппер, движок про нее ничего не знает. То есть мало просто собрать лайтмапы в большие атласы - лайтстили сломают эту идиллию нахрен.
При том, что лайтстили сохранённые в текстуру не могут иметь интерполяцию. То есть всё это дело постоянно норовит взорваться уродливыми артефактами. Но тем не менее - у меня получилось.
Теперь лайтстили вообще никак не влияют на производительность
Ну и плавающий лимит присутствует конечно - 4 лайтстиля на лайтгруппу.
А вот лайтгруппы, товарищи юзеры вы в принципе можете регулировать самостоятельно, как раз на такой вот стрёмный случай. Ну и не только на такой. В 99% случаев компилятор прекрасно справляется сам. Но иногда ему требуется помощь. Теперь это регулируется со стороны дизайнера.

Добавлено 06-10-2023 в 19:44:

Так, ну чтожы. Пора показать некоторые достижения. Скриншоты в порядке появления эффектов:


Нет эффектов.


Хай-рез текстуры


Нормал-маппинг


Оффсет-маппинг (он же рельф-маппинг, он же параллакс)

Скриншоты имеют накопительный эффект, т.е. на каждом следующем видны предидущие фичи + новая. Обратите внимание как падает фпс.
Осталось только подключить PBR и тестирование бампа завершено.

Добавлено 06-10-2023 в 19:45:

Как и прошлые разы, напоминаю - в движок не лазаю. Все эти эффекты были подключены путём редактирования материалов и шейдеров.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено a1batross 06-10-2023 в 19:04:

FiEctro это r_speeds. Его движок забирает строчкой из рендерера и как хочет, так и рисует.

__________________
Xash3D FWGS форк


Отправлено XaeroX 06-10-2023 в 19:21:

Цитата:
Дядя Миша писал:
Оффсет-маппинг (он же рельф-маппинг, он же параллакс)

Аж стены раздвигаются!

Добавлено 06-10-2023 в 15:21:

528 фпс на карте из первой кваки, и это ещё теней нет?
Однако...

__________________

xaerox on Vivino


Отправлено Дядя Миша 06-10-2023 в 19:33:

Ну чтоже. Могу сказать, что работа над лайтмаппером завершена.
Начал я им заниматься в июле 2020-го года и вот наконец он обзавёлся всем необходимым и превзошёл по своим возможностям абсолютно все лайтмапперы для всех движков семейства Quake и их производных.
За промышленные лайтмаперы ничего скажу - там и требования другие.
Впрочем как и за лайтмапперы того же Unity\Unreal. Будете сами сравнивать и мне рассказывать. Однако один момент всё же отмечу. Судя по всему, мой лайтмаппер - единственный, который умеет давать инстанс-моделям персональные лайтмапы. В том же юнити я поковырялся - там освещение еденичным цветом, ну как и в сталкере. Т.е. это довольно непростая в реализации фича. Более подробно распишу в документации.

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

Ну а поскольку теперь у меня есть стабильный референс в виде статически запечённого света - пора переходить к динамическому освещению.
Для начала разумеется сделаю обычный прямой свет. Собственно сам свет не проблема запилить уже сейчас, но нужны ещё две вещи:
1. эффективная система отсечения невидимых источников. Будет построена на уже знакомой вам технологии визлайт матрицы. Я использовал её в параное и остался доволен. Это на мой взгляд вообще единственная технология, которая позволяет в реалтайме рисовать лайты с квадратичным радиусом затухания. Я в своё время писал об этом. Пакость этих лайтов заключается в том, что отсечение их по радиусу невозможно в принципе - каждый такой лайт заведомо больше площади экрана. Т.е. все эти кластеры и отложка идут лесом. Поэтому в играх по прежнему используют либо лайтмапу либо локальные лайты, радиус которых гарантированно меньше площади экрана. А у меня есть технология как рисовать подобные лайты в реалтайме. Правда с оговоркой что лайты не должны двигаться, но ведь они и так не двигаются. А для подвижных лайтов можно юзать и линейный радиус затухания.
2. система рендеринга теней. Проблема теней в том, что для каждого источники выделяют одну теневую карту. Причём эти карты ещё и разные - где-то кубемапа для всенаправленных источников, где-то каскады, т.е. несколько теневых карт на источник, где-то одна, для проекционных.
Это очень неудобно и мешает полноценному менеджменту на GPU. Чтобы не проталкивать в параметры что-то, а решать эти задачи целиком на GPU. Я вижу это таким образом, что движок подаёт на вход рендеринга только массив с индексами лайтов, которые видны из текущей позиции взгляда, а всё остальное полностью решается в шейдере. Это наиболее гибкая и надёжная схема.
Динамическое освещение в движок планируется внедрить в течение следующей недели. Само по себе освещение делается легко - это немного кода в шейдере. Главная сложность - это бакэнд, обеспечение. То самое, на которое я убил почти три года и мне даже нечего было вам показать в плане скриншотов. Ну зато теперь любая задачка решается в рекордные сроки. Реалтайм радиосити займусь уже в следующем году.

Добавлено 06-10-2023 в 22:33:

Цитата:
XaeroX писал:
Аж стены раздвигаются!

Экспериментатор движений вверх-вниз видит простор там где мне видна стена!

Цитата:
XaeroX писал:
528 фпс на карте из первой кваки, и это ещё теней нет?

Так этот параллакс ещё и считается самым оптимизированным. Хотя я и не сравнивал. А тени-то чего тормозить будут? Я не собираюсь их вычислять каждый кадр, 60 раз в секунду за глаза достаточно.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Временная зона GMT. Текущее время 17:58. Страницы (255): « Первая ... « 197 198 199 200 [201] 202 203 204 205 » ... Последняя »
Показать все 3825 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024