Перейти к контенту

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

времени прошло не мало)

пожалуй покажу что-то из всякого, что делаю и с чем работаю.

допустим есть у нас некая сцена, для нее есть буффер глубины и нам надо на этой сцене и в этом буффере что-то сделать (рейтрейсинг отражений, АО, освещение - мало ли, можно много всего придумать)
0.PNG9.png
буффер глубины может выглядеть примерно так
внимательный человек спросит - почему он желтый, а не красный или серый? отличный вопрос, дело в том, что это не совсем обычный буффер, а 2х канальный и в одном канале он хранит максимум, а в другом минимум.
это позволяет сделать "ускоряющую структуру" для последующих алгоритмов

4.PNG
по сути это сделано с помощью мип уровней для этого буффера, а вот функция которая собирает мип уровни вместо усреднения по 2х2 текселям, находит наибольший и наименьший
5.PNG
обратите внимание, что цвета начинают меняться - ведь для каждого мипуровня уже будут разные значения минимальной и максимальной глубины
6.PNG
таким образом мы в некотором смысле делаем "вокселизацию" сцены в экранном пространстве, что неплохо так позволяет ускорять трассировку в пространтсве экрана для локальных эффектов.

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

Ну и в довесок тайминг (правда для другой сцены, тут картинка в лоу разрешении, а тайминги имеет смысл снимать хотя бы в fullHD)
timing_11.PNG

Изменено пользователем Cornholio
  • Нравится 4
Ссылка на комментарий

Всем доброго времени! Кто-нибудь знает, можно ли повысить качество отображения шейдера для карт с альфа-каналом? А то волосы сделанные плашками с альфой смотрятся убоговасто =)

Ссылка на комментарий

Всем привет! Для своего мода я решил портировать шейдеры отражения поверхностей из билдов ТЧ за 2002-2004 года в движок ЗП, но как это сделать? Что для этого нужно? Можно ли обойтись без движковых правок? Заранее спасибо!

Изменено пользователем wiegy
  • Жуть! 1
Ссылка на комментарий

@wiegy при такой формулировке вопроса вряд ли кто-то поймет, о чем вообще речь. Выложи примеры (сами конкретные файлы шейдеров, картинки, описания к какому билду и рендеру это относится)... 

Изменено пользователем macron
Ссылка на комментарий

Мне захотелось перенести шейдеры второго рендера (R2) (отражения поверхностей, тени и свет) из билда 1833 за 08 мая 2004 год для ТЧ на движок ЗП. Не могу сказать, какие файлы нужно порт. в gamedat-у ЗП. За примерами изображений из этого билда, в том чисел с этими шейдерами (1833) можешь обратиться к интернету или к другим источникам (видео и т.д.)

  • Не нравится 1
  • Смешно 1
  • Жуть! 1
Ссылка на комментарий

Здравствуйте. Переносил lfo_light_dot_weapons из BaS(Аномали) на получистый ЗП, на r1-2 всё работает как надо, а на r3 такая вот фиговина:

Скрытый текст

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

Вот сам шейдер: https://disk.yandex.ru/d/1QxwaSwqvgykng

m_hud_params в движке есть, screen_res есть тоже, правда пришлось переместить его из common.h, на этом мои полномочия всё. Перспектива разбирать десятки float в шейдерах по настоящему пугает.

Решил вопрос, так как тут про этот шейдер смотрю часто спрашивают, то пусть будет.

 

В общем имейте ввиду, что для шейдеров нужны текстурки точек коллиматоров 512х512 (256 с натяжкой), вот пример:

Поэтому будьте внимательны, если у вас модель читает метки коллиматоров из какого-нибудь STCoP, которые разрешением ниже и вы о них забыли например. В самому шейдере это указано, собственно float size = 512.0

Изменено пользователем Last_Dawn
  • Спасибо 1
Ссылка на комментарий

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

Ссылка на комментарий
8 часов назад, Stalkersof сказал:

Подскажите люди добрые там есть движковые правки или нет

Насколько я знаю нет. Я кое что переносил уже на ОГСР оттуда. Потом сдох винт и так пока руки и не дошли до финального варианта.

Ссылка на комментарий

@Stalkersof @MADMAX666 Движковые правки там есть, но на уровне переменных, которые в принципе и без знания C++ спокойно добавляются.
 

8 часов назад, Stalkersof сказал:

и на оп2

А можно источник?

  • Полезно 1
Ссылка на комментарий
8 часов назад, Stalkersof сказал:

Подскажите люди добрые там есть движковые правки или нет

Хотя нет к сожалению. Нужны правки для луж и тумана в движке. 

13 минут назад, Prophet13 сказал:

А можно источник?

Источник на что дружище?

  • Согласен 1
Ссылка на комментарий
10 минут назад, MADMAX666 сказал:

Источник на что дружище?

Источник, где он нашёл, что в ОП-2 SSS добавили. Я уже нашёл то, что он имел ввиду.

Ссылка на комментарий
8 часов назад, Tolyan сказал:

Народ, всем здравия! У кого-нить остались шейдеры от Anonima? 

Приветствую. Да есть!!!

Лови дружище! https://disk.yandex.ru/d/5vxEzPdK3FufXA

Изменено пользователем MADMAX666
  • Спасибо 2
  • Нравится 1
Ссылка на комментарий

Добрый день. Хочу попробовать реализовать interior mapping в сталкере, вроде бы ничего такого, что может воспрепятсвовать этому пока не видно. Я не силен в шейдерах, тем более в их сталкерских нюансах, поэтому столкнулся с первой же проблемой - как назначить шейдер на поверхность. Это делается через actor editor, но выборка шейдеров берется с shaders.xr. Я добавил шейдер в shader editor, но как его запрограмировать? Я так понял что в shader editor у шейдеров ограниченый менюшкой редактора функционал. Я так понял, что шейдера с gamedata/shaders как то применяются к статическим объектам, для той же воды например, но как это сделать - я так и не понял. Я подумал что нужно 1 в 1 название шейдера, которое в actor editor назначено, создал в shaders/r4/ .s, .vs, .ps файлы, прописал в shader:begin названия этих файлов, в .ps в методе main возвращаю красный return float4(1,0,0,1); чтобы понятно было, что моя писанина работает, но похоже это не так. Я распаковал level файл Припяти в ЗП, нашел секцию что отвечает за окно, поменял на свой шейдер, собрал файл обратно, положил в геймдату. Порешал немного вылетов, из-за ошибок в шейдере при загрузке локации. В игре на месте окон прозрачность, тоесть шейдер не работает:
 

Скрытый текст

Q9MnRm7.jpg

 

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

По сути меня интересует следующее: как связать шейдер с папки shaders c статическим объектом в игре, возможно я не прописал нужные команды в .s файле или того подобное. Либо иначим способом заставить движок красить нужные поверхности используя нужные мне шейдера. Или есть нюансы, например в .ps файлах метод входа называется main_ps_1_1, и другое название оно будет игнорировать?

Изменено пользователем partfinger
Ссылка на комментарий

@partfinger вроде все делаешь правильно.

Техника такая: смотришь имя engine-шейдера в АЕ, заменяешь все слеши на подчеркивания, добавляешь .s - получаешь имя скриптового шейдера. В нем уже указываешь произвольные .ps/,vs. Если движок находит скриптовый шейдер, то грузит его, иначе использует из shaders.xr.

 

Судя по вылетам - движок использовал твой скриптовый шейдер. Почему потом перестал - непонятно.

 

Как вариант - при тестировании ты сменил рендер и твой скриптовый шейдер движок не находит. Правда тогда должен пытаться грузить из shaders.xr, а ты вроде его и там удалил.

Может быть не на то окно смотришь? Полетай в деморекорде, чекни окна.

 

Можно попробовать очистить геймдату и проделать все заново.

  • Спасибо 1
  • Нравится 1
Ссылка на комментарий

Здравствуйте. Вопрос по включению/выключению скриптовых шейдеров и как вообще узнать, используются они или нет.

На многих модах, на движке ЗП используются локации сделанные без поддержки статики r1, однако, есть лайвхак, который некоторые используют. В SDK, в редакторе шейдеров редактируется отдельно взятый shaders.xr. Там заменяется default (lmap*base) на клонированный и переименованный df_vertex (diffuse*base). Это устраняет вылет на статическом освещении, но не суть.

Случайно обнаружил, что этот вариант вызывает проблемы со свечением предметов вместо текстур, тех, которые работают с  default. Это только на старой видеокарте ATI. Чтобы это исправить я заменял файл в папке shaders\r1\objects\r1\vert.vs\0______ на такой же файл из lmap.vs. Возможно это не правильно, но оно работало на многих модах, пока не попался один, где это не сработало - в этом суть. Замена vert.vs\0______ ни к чему не привела. Чтобы убедиться, что этот файл не используется я взял распакованную версию без resources и попытался запустить без папки shaders\r1\objects\ Оказалось, что мод работает без видимых изменений. То есть файлы не используются. Хотя, если удалить сам скрипт shaders\r1\vert.vs то игра выдает багрепорт.

Вопрос в том, где включить использование 0______?

 

 

  • Нравится 1
Ссылка на комментарий

К сожалению по логу нельзя определить используется ли shaders\r1\objects\ или нет. Те же строчки compiling shader независимо от наличия этих файлов. 

 

Вот ещё. Похоже, что вместо патча shaders.xr в SDK, можно просто заменить два байта, с тем же результатом. В HEX найти MLdefault (с байтом 00 после) и заменить ML на пробел V. То-есть 4D 4C на 20 56. Во всяком случае у меня такой патч работает точно так же.

 

  • Нравится 1
Ссылка на комментарий

Здравствуйте, уважаемые спецы по шейдерам. 

Скачал Адаптация swtc 2.0 к оп 2.2. Штука отличная, но есть нюанс: шейдеры с дофом Мелтака имеют сильное размытие. Как его отключить? Пробовал сам, но там десятки файлов и сотни настроек, очень уж долго получается...

 

А в шейдерах без дофа Мелтака размытия нет, но есть другая проблема: там тени отржаются не тенями как таковыми, а светом (!). Т. е. допустим тень от дерева или пролетающей вороны не тёмный силуэт, а светлый силуэт. Тень не тёмная, но почему-то светлая. Если кто знает, как тень вернуть в нормальное состояние, тоже подскажите. 
Короче, мне нужно исправить либо одно, либо другое, тогда будет вам и мне счастье! :):)

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   1 пользователь

×
×
  • Создать...