Поиск в системе
Результаты поиска по тегам 'hlsl'.
Найдено 1 результат
-
Привет всем, недавно задался вопросом реализации бликов like battlefield, наткнулся на статью: John Chapman Pseudo Lens Flares Демонстрационное видео мне понравилось, посему взялся за реализацию прямо по статье. Вот что вышло у меня: клик Собтсвенно, а как оно делается на сталкере, весь код приведу ниже с пояснением. Шейдер Treshold/Downsample, так как реализация в статье не подходит для сталкера, пришлось делать совсем иначе, на выходе почти идентичный результат. А что он делает? Говоря "поруски", отбрасывает пиксели с низкой яркостью оставляя только светлые участки, т.е. те участки которые и будут учавствовать в создании призраков и гало эффекта. Шейдер можно сказать необходимый, его можно использовать и для эффекта Dirty Lens, похожим способом и блум пилится и ещё много чего. Из входных данных, это люминанс вектор и rt_Generic_0(сцена до фазы combine). Пишется всё это дело в новый рендер таргет, который мы дальше будем использовать для генерирования бликов. Терь сам шейдер генерирующий блики. Входные данные: -ранее созданный рендер таргет downsample, "обозванный" samplerTreshold -1D текстура, в нашем случае фейковая, т.к. нельзя в dds сохранить текстуру с высотой в один пиксель, у меня она 256x4. Используется она для окрашивания бликов. Всё это тоже пишется в новый РТшник. Терь нужно "пустить под блюр" сгенерированные блики, обычно я это делаю незамысловатым Gauss блюром, но в сей раз хотел испробовать что-нибудь новенькое. На самом деле я не ручаюсь за правильность работы этого шейдера , так как не выводил его на результ для проверки. Чтобы перестраховаться можно использовать проверенный блюр, код будет прямо под этим. Тут Gauss. Входные параметры: -семплер обречённый на блюр -текстурные координаты -сила блюра (почему в int? потомучто я всегда его использую только в цикле и как сила блюра у меня выступает кол-во оборотов цикла, к тому же значение динамическое) for ( int i=0; i<BLUR_SAMPLES; i++ ) { outColor =Gauss(samplerBlur,texCoord,i,false); } -бул значение для юза оптимизированного блюра Примечание: по сути, юниформ screen_res здесь не так важен и можно заменить универсальной константой 1024.f В идеале, конечно, я бы и Dawnsample обрёк на блюр, но переделывать было уже лень. Ну и последняя фаза комбайн с основным изображением. Не стал парится с SturBurst эффектом, оставил статичным, оно и так прилично выглядит, DirtyLens Тоже не стал делать, так как у меня это отдельная история, хотя смешивать его тоже в этом шейдере буду. Ну вроде всё. Надеюсь кому-нибудь пригодится.
УЧИМСЯ МОДДИНГУ
ИГРАЕМ В МОДЫ НА ТЧ
ИГРАЕМ В МОДЫ НА ЧН И ЗП
- [ЧН] OGSM CS 1.8 CE Fixes
- [ЧН] HARDWARMOD 3.2
- [ЗП] The Long Road
- [ЧН] New vision of War
- [ЧН] Old Good Stalker Mod - Clear Sky
- [ЗП] Unofficial Patch
- [ЗП] Смерти вопреки
- [ЗП] Контракт на хорошую жизнь
- [ЗП] Shoker Weapon Mod 2.1
- [ЗП] Hardcore pack for SGM 2.2
- [ЗП] Контракт Синдиката
- [ЗП] Клондайк 2.0
- ...и другие моды
ПОЛЕЗНОЕ И РАЗНОЕ