HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Paranoia 2:Savior (https://hlfx.ru/forum/forumdisplay.php?forumid=38)
-- Полный исходный код P2:Savior 1.51, включая компиляторы и модельвьювер (https://hlfx.ru/forum/showthread.php?threadid=5552)
Отправлено Crystallize 03-08-2021 в 07:21:
ncuxonaT А можно скрин без калаша и без худа? 
Отправлено ncuxonaT 03-08-2021 в 20:01:
Дядя Миша просто заменить одно на другое с указанием MAX_STRING?
Crystallize можно

Отправлено SNMetamorph 03-08-2021 в 20:34:
Цитата:
ncuxonaT писал:
Мутные стекла по мотивам дума
А как это реализовано?__________________
SNMetamorph's Personal Blog
Xash3D Modding Discord
Отправлено ncuxonaT 03-08-2021 в 20:53:
SNMetamorph копия экрана последовательно блюрится в мипы, при отрисовке стекла в шейдере выбирается нужный мип в зависимости от шероховатости.
Отправлено SNMetamorph 03-08-2021 в 20:54:
Цитата:
ncuxonaT писал:
копия экрана последовательно блюрится в мипы, при отрисовке стекла в шейдере выбирается нужный мип в зависимости от шероховатости.
А можно просто сразу в пиксельном шейдере блюрить в зависимости от шероховатости? Какие подводные?__________________
SNMetamorph's Personal Blog
Xash3D Modding Discord
Отправлено ncuxonaT 03-08-2021 в 21:21:
Цитата:
SNMetamorph писал:
А можно просто сразу в пиксельном шейдере блюрить в зависимости от шероховатости? Какие подводные?
Можно, но нужно много семплов, иначе мутные стекла будут шуметь. Вариант с мипами, как правило, быстрее. Если бы в паранойе стекла батчились, а не рисовались по одному, то мипы были бы однозначно быстрее.
Отправлено Crystallize 04-08-2021 в 01:15:
ncuxonaT Спасибо! 
Отправлено Дядя Миша 04-08-2021 в 06:16:
Цитата:
ncuxonaT писал:
просто заменить одно на другое с указанием MAX_STRING?
Можно, но лучше использовать sizeof( string ), где string - имя переменной в которую пишется конечная строка. Ну или по крайней мере убедиться, что везде, где ты меняешь это дело, размер строки реально равен MAX_STRING.
Цитата:
ncuxonaT писал:
Если бы в паранойе стекла батчились, а не рисовались по одному
Стёкла не могут батчиться, для каждого стекла делается новая копия экрана.
Ну хоть бы подумал сначала.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено ncuxonaT 04-08-2021 в 06:33:
Crystallize 👍🏿
Цитата:
Дядя Миша писал:
Стёкла не могут батчиться, для каждого стекла делается новая копия экрана.
Ну хоть бы подумал сначала.
Надо группировать неперекрывающиеся стекла и делать им общую копию. Можно наверное софтварно проецировать треугольники в экранные координаты и проверять на пересечение.
Отправлено Дядя Миша 04-08-2021 в 06:41:
Цитата:
ncuxonaT писал:
Надо группировать неперекрывающиеся стекла и делать им общую копию
Даже если мы с гарантией уверены, что нашли такие стёкла, нам надо записать в буффер экрана несколько обновлённых копий. А сделать это можно только чередой последовательных вызовов subImage. Далее, стекло, это практически всегда квадрат, два треугольника. Полигонаж стёкол на экране редко когда превышает 100-200 треугольников. А для такого кол-ва батчинг просто бессмыслица, ты не увидишь никакой разницы абсолютно.
Добавлено 04-08-2021 в 09:41:
Цитата:
ncuxonaT писал:
Можно наверное софтварно проецировать треугольники в экранные координаты и проверять на пересечение.
Именно так сейчас и происходит. Копии делаются для квадов, а не для треугольников, если ты не заметил.
Для студиомоделей и вовсе делается один вызов для всего меша, например если это шлем на голове NPC.
Ну включи r_scissor_glass_debug 1__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Crystallize 04-08-2021 в 08:33:
Цитата:
ncuxonaT писал:
👍🏿
два квадрата
Отправлено ncuxonaT 04-08-2021 в 15:13:
Crystallize браузер или ОС не поддерживают эмодзи. Там было 
Дядя Миша ну ты думай ширше. Каждое стекло - это не только копирование экрана (glCopyTexSubImage2D клампит в 0-1, поэтому только glBlitFramebuffer, только хардкор), это еще блюр мипов. В паранойе большинство стекол, которые можно было бы копировать/блюрить за один раз, разбиты на 33 куска. И ААВВ в экранном пространстве у этих кусков естественно будут перекрываться.

Отправлено Дядя Миша 04-08-2021 в 18:05:
Цитата:
ncuxonaT писал:
браузер или ОС не поддерживают эмодзи
а я эту хрень кстати вижу.
Цитата:
ncuxonaT писал:
это еще блюр мипов
Не понял. А зачем блюрить мипы?
Цитата:
ncuxonaT писал:
которые можно было бы копировать/блюрить за один раз, разбиты на 33 куска.
их можно при загрузке клеить в группы и подсчитать для них локальный AABB.
Вариант да. Впрочем на третьем скрине лучше ничего не клеить.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено ncuxonaT 04-08-2021 в 22:39:
Цитата:
Дядя Миша писал:
Не понял. А зачем блюрить мипы?
Чтобы делать мутные стекла.
Кстати у моделей с развесовкой проблемы не только с динамическим освещением, но и со скиссором для стекол. Куда копать?
Отправлено Crystallize 05-08-2021 в 02:56:
Цитата:
ncuxonaT писал:
Crystallize браузер или ОС не поддерживают эмодзи. Там было
Хром последний и семерка
Цитата:
Дядя Миша писал:
а я эту хрень кстати вижу.
На Опере 12?