Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!

> Помощь по разделу

Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов

> Графика, рендер, шейдеры
=Diablo=
сообщение 17.08.2010, 10:38
Сообщение #3661


Игроман
**********

Репутация:   430  
Группа: Участник
Сообщений: 892
Регистрация: 14.08.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа




Работы участников

Шейдеры от Diablo
Шейдеры из билда 2232 под финалку.
До

После


Скачать
Наработки cjayho
ECB Shaderpack
Официальный репозиторий

Описание
ECB-Shaderpack
Улучшенный набор шейдеров для игры S.T.A.L.K.E.R.: Shadow of Chernobyl

_____________________________________________________________________________
Основные возможности:
_______________________
1) Непрозрачный туман на R2, возможность переключения
из файла конфигурации прозрачный/непрозрачный туман
2) Исправлена "синюшность" изображения на R2
3) Эффект компенсационного светового следа на R2
4) Статический и динамический Depth of field на R2,
Размытие объектов при прицеливании (требует дополнительного скрипта)
5) Билдовский блум с краснинкой на R2, возможность
переключения тонмаппинга в режим, который был в билде 2218
6) Screen space ambient occlusion на R2
7) Правильная отрисовка сияния ламп на R1
8) Правильная отрисовка солнечного градиента на обоих рендерах
9) Полноценная отрисовка occlusion-lightmaps на R2
10) Микроструктурный бамп
11) Правильная отрисовка бликов на блестящих поверхностях
12) Автосатурация - попиксельное уменьшение насышенности слабо
освещенных объектов
13) Мягкие тени на R2
14) Экспериментальная возможность - правильные тени от деревьев на R2
15) Улучшенный Motion blur, более похожий на билдовский
16) Исправлена "кислотность" (перенасыщенность) солнечного освещения объектов на R2
17) Отражабельная вода на R2
18) GodRays на R2 + эффект пылинок в лучах.
19) Мягкие партиклы на R2
20) Мягкая вода на R2

Плюс множество регулировок и исправлений мелких недостатков обоих рендеров
Условия использования
_______________________
Данный продукт предоставляется под соглашением Creative Commons CC-BY 3.0,
Подробнее описано по адресу http://creativecommons.org/licenses/by/3.0/deed.ru
Составитель данного набора шейдеров - cjayho
Свежие ревизии находятся по адресу http://code.google.com/p/ecb-shaderpack/downloads/list
Установка
___________
Данный продукт тестировался под версиями игры 1.0004 и 1.0006
Установка сводится к копированию файлов в папку gamedata мода,
изначальный набор файлов предназначается для чистой игры. В случае
установки погодных модов необходимо правильно совместить файл
config/weathers/flares.ltx

Для более полной настройки шейдеров R2 под свой мод можно править файл
shaders/r2/config.h.
Для корректной работы теней нужно установить следующие переменные
в игровой консоли:

r2_sun_near_border 1
r2_sun_near 20


Благодарности
_______________

Sergy172 за идеи и тестирование экспериментальных веток.
-=Diablo=- за изначально портированные шейдеры из 2232
macron за отражабельную воду и наборы шейдеров из билдов 2217 и 2588
Билдоман за набор шейдеров из билда 2571
BAC9-FLCL, KamikaZZe за дельные замечания и критику
Shadows за неоценимую помощь в разработке и тестирование экспериментальных версий
Meltac <metzinger@gmx.net> (Его мод "Dynamic shaders" здесь: http://www.moddb.com/mods/dynamic-shaders)
за алгоритм Depth of Field. Код DoF используется с его разрешения.
Sky4CE за алгоритм SSAO
K.D. За алгоритмы мягкой воды, мягких партиклов, GodRays
Скриншоты
Скриншоты (Shadows Addon 0.6 Edition)

Скачать все наработки | Зеркало
Наработки ECB Team распространяются под условиями Creative Commons CC-BY.
Правки рендера от K.D.
Подходит как к чистой игре, так и к любым модам.
Изменения
- саншафты (команда r2_sun_shafts off/low/medium/high)
- мягкая вода (команда r2_soft_water on/off)
- мягкие партиклы (команда r2_soft_particles on/off)
- регулировка дальности отрисовки травы через консоль (r__detail_radius [49, 501])
- расширенная регулировка плотности травы (r__detail_density [0.02, 0.6])
- расширенная регулировка четкости текстур (r1_tf_mipbias/r2_tf_mipbias [-3.0, 3.0], только R1/R2)
- расширенная регулировка расстояния переключения на лоды (r__geometry_lod [0.1, 3.0])
- восстановлены тени от травы (r2_sun_details, R2)
- восстановлены блудмарки (r2_bloodmarks, R1/R2)
- правильные тени от солнца (R2)
- увеличенный видеобуфер (фикс ошибки "(bytes_need<=mSize) && vl_Count" на R2, связанной с перегрузками видеобуфера*)

* То есть теперь можно на полной динамике загрузить ресурсоёмкую карту типа болота из ЧН, поставить видимость в 4 километра и взрывать вокруг дымовые гранаты с ЧНовскими партиклами дыма (тоже жутко ресурсоёмкие).
Скриншоты
Мягкие партиклы (до и после)

Установка: закинуть содержимое в папку с установленным ТЧ (6 патч, более ранние патчи не поддерживаются и просить сделать под них аналогичное бессмысленно!)
Настройка: смотрите ogse_config.h
Нюансы:
- мягкая вода работает и без бинарников
- экзешник нужен для пыли в саншафтах и правки вылета перегрузки видеобуфера. Он основан на выложенным в свое время официальном экзешнике для 6го патча без защиты (отсутвие starforce).
- рендер-библиотека обеспечивает работу консольных команд, пыли в саншафтах и мягких партиклов.
Использование: где и как угодно. Не возбраняется указать автора.

Скачать
Часть наработок еще здесь


Сообщение отредактировал ForserX - 21.07.2020, 13:58
Перейти в начало страницы
 
227 страниц V  « < 182 183 184 185 186 > »   
Начать новую тему
Ответов
Diesel
сообщение 22.03.2020, 02:06
Сообщение #3662


Почти Мастер
***********

Репутация:   111  
Группа: Участник
Сообщений: 1158
Награды: 3
Регистрация: 07.08.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


xrModder, сейчас посмотрел внимательно у Варгейминга, что такое Z ось. Это впадины которые не видит рендер, внутренняя тень ( что то похожее на AO).
Перейти в начало страницы
 
xrModder
сообщение 22.03.2020, 02:11
Сообщение #3663


Мастер Игры
************

Репутация:   104  
Группа: Участник
Сообщений: 1331
Регистрация: 08.08.2018




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Ленин @ 22.03.2020, 05:02) *
xrModder, сейчас посмотрел внимательно у Варгейминга, что такое Z ось. Это впадины которые не видит рендер, внутренняя тень ( что то похожее на AO).

Без Z оси невозможно получить нормальные текстуры для сталкача.
Перейти в начало страницы
 
Diesel
сообщение 22.03.2020, 02:17
Сообщение #3664


Почти Мастер
***********

Репутация:   111  
Группа: Участник
Сообщений: 1158
Награды: 3
Регистрация: 07.08.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


xrModder, значит в Сурве есть отдельно еще одна текстура для АО, она и нужна для Z оси синего канала.
Перейти в начало страницы
 
xrModder
сообщение 22.03.2020, 02:22
Сообщение #3665


Мастер Игры
************

Репутация:   104  
Группа: Участник
Сообщений: 1331
Регистрация: 08.08.2018




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Ленин @ 22.03.2020, 05:13) *
xrModder, значит в Сурве есть отдельно еще одна текстура для АО, она и нужна для Z оси синего канала.

Нет такого, там только diffuse, свой normal map и specular map.
Перейти в начало страницы
 
Diesel
сообщение 22.03.2020, 02:28
Сообщение #3666


Почти Мастер
***********

Репутация:   111  
Группа: Участник
Сообщений: 1158
Награды: 3
Регистрация: 07.08.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


xrModder, скинь все текстуры для этого крипича, возможно они затолкали z в спекуляр.
Перейти в начало страницы
 
xrModder
сообщение 22.03.2020, 02:44
Сообщение #3667


Мастер Игры
************

Репутация:   104  
Группа: Участник
Сообщений: 1331
Регистрация: 08.08.2018




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Ленин @ 22.03.2020, 05:24) *
xrModder, скинь все текстуры для этого крипича, возможно они затолкали z в спекуляр.

https://drive.google.com/open?id=1-S8g4UfH_...1ywYMYAsNEsV2Cq
Перейти в начало страницы
 
Diesel
сообщение 22.03.2020, 02:56
Сообщение #3668


Почти Мастер
***********

Репутация:   111  
Группа: Участник
Сообщений: 1158
Награды: 3
Регистрация: 07.08.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


xrModder, нето малость. Но если похимичить, то можно из спекуляра сделать z. Завтра буду тестировать на локации, потом отпишусь.


Можно по идее выделить z


Сообщение отредактировал Ленин - 22.03.2020, 02:59
Перейти в начало страницы
 
ed_rez
сообщение 22.03.2020, 12:36
Сообщение #3669


Почти Игроман
*********

Репутация:   42  
Группа: Участник
Сообщений: 626
Награды: 1
Регистрация: 10.12.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


xrModder,
держи правильную нормаль - http://sendfile.su/1551557
Карту высот нет делал, ее нет на каналах текстур Сёрвы. Делается ручками в редакторе.


--------------------
Перейти в начало страницы
 
SkyLoader
сообщение 22.03.2020, 13:03
Сообщение #3670


Почти Игроман
*********

Репутация:   153  
Группа: Участник
Сообщений: 614
Награды: 4
Регистрация: 03.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Ленин @ 22.03.2020, 02:02) *
сейчас посмотрел внимательно у Варгейминга, что такое Z ось. Это впадины которые не видит рендер, внутренняя тень ( что то похожее на AO).

Цитата(Ленин @ 22.03.2020, 02:52) *
Но если похимичить, то можно из спекуляра сделать z.

Перейти в начало страницы
 
FozeSt
сообщение 22.03.2020, 13:54
Сообщение #3671


Ветеран
*****

Репутация:   13  
Группа: Участник
Сообщений: 83
Регистрация: 10.01.2017




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(SkyLoader @ 22.03.2020, 14:59) *
Цитата(Ленин @ 22.03.2020, 02:02) *
сейчас посмотрел внимательно у Варгейминга, что такое Z ось. Это впадины которые не видит рендер, внутренняя тень ( что то похожее на AO).

Цитата(Ленин @ 22.03.2020, 02:52) *
Но если похимичить, то можно из спекуляра сделать z.



Я тоже удивдяюсь


--------------------
Специально для ПЫСов: особо одаренных у меня нет, остальных дебилов спрашивать у вульфа
Перейти в начало страницы
 
Молния в вакууме
сообщение 22.03.2020, 14:18
Сообщение #3672


Почти Игроман
*********

Репутация:   187  
Группа: Участник
Сообщений: 647
Награды: 4
Регистрация: 05.05.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


Для того чтобы восстановить Z ось стоит вспомнить теорему пифагора и щепотку алгебры.
Так как известно что
Код
X*X + Y*Y + Z*Z = 1

Получить Z можно как
Код
Z = sqrt(1 - X*X - Y*Y)

smartass.gif

Осталось только где-то взять софт который умеет так делать.
Перейти в начало страницы
 
xrModder
сообщение 22.03.2020, 17:25
Сообщение #3673


Мастер Игры
************

Репутация:   104  
Группа: Участник
Сообщений: 1331
Регистрация: 08.08.2018




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Молния в вакууме @ 22.03.2020, 17:14) *
Для того чтобы восстановить Z ось стоит вспомнить теорему пифагора и щепотку алгебры.
Так как известно что
Код
X*X + Y*Y + Z*Z = 1

Получить Z можно как
Код
Z = sqrt(1 - X*X - Y*Y)

smartass.gif

Осталось только где-то взять софт который умеет так делать.

Кое-что выяснил:
Диапазон X, Y и Z: -1...+1
Диапазон R, G и B: 0...255 (0...1)
Перейти в начало страницы
 
xrModder
сообщение 22.03.2020, 18:29
Сообщение #3674


Мастер Игры
************

Репутация:   104  
Группа: Участник
Сообщений: 1331
Регистрация: 08.08.2018




Вставить ник Цитировать выделенное в форуму быстрого ответа


Формула для конвертации:
d(RGB) = 0...1: XYZ = 2 * (RGB - 0.5)
d(RGB) = 0...255: XYZ = 2 * ((RGB / 255) - 0.5)

Сообщение отредактировал xrModder - 22.03.2020, 18:38
Перейти в начало страницы
 
Diesel
сообщение 22.03.2020, 21:46
Сообщение #3675


Почти Мастер
***********

Репутация:   111  
Группа: Участник
Сообщений: 1158
Награды: 3
Регистрация: 07.08.2015




Вставить ник Цитировать выделенное в форуму быстрого ответа


SkyLoader, весело? Если приспичит по нужде - будете искать туалет?

Вы еще однако из дифузки бампы не делали. laugh.gif


Кака получается из спекуляра, короче я пас.




Ось Z не привязана к теореме Пифагора в данном случае, так как там 255 - не вершина значения, там считается в инверсию. 255 - это по сути гладкая поверхность, а темные участки это впадины. И в Z не указываются вершины.

Как написал ed_rez, что z - это карта высот... а я вижу там AO ( области не читаемые рендерингом.).

Сообщение отредактировал Ленин - 22.03.2020, 21:50
Перейти в начало страницы
 
xrModder
сообщение 23.03.2020, 00:05
Сообщение #3676


Мастер Игры
************

Репутация:   104  
Группа: Участник
Сообщений: 1331
Регистрация: 08.08.2018




Вставить ник Цитировать выделенное в форуму быстрого ответа


Ни один из этих способов, вроде извлечение z-нормали по формуле Пифагора или ao в качестве синего канала не работает.
Перейти в начало страницы
 
cjayho
сообщение 23.03.2020, 01:10
Сообщение #3677


Мастер Игры
************

Репутация:   248  
Куратор темы
Сообщений: 1363
Награды: 4
Регистрация: 08.03.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


QUOTE (Молния в вакууме @ 22.03.2020, 13:14) *
Для того чтобы восстановить Z ось стоит вспомнить теорему пифагора и щепотку алгебры.
Так как известно что
CODE
X*X + Y*Y + Z*Z = 1

Получить Z можно как
CODE
Z = sqrt(1 - X*X - Y*Y)

smartass.gif

Осталось только где-то взять софт который умеет так делать.


Ваши построения верны только для единичного вектора, а я уверен что вектор например (0,0,0) не является единичным.

Проверить легко: берем изначальный вектор 0,0,0

z = sqrt( 1 - 0*0 - 0*0 ) = 1. Ответ не сходится.

берем 0.2, 0.2, 0.2

z = sqrt( 1 - 0.04 - 0.04 ) = sqrt( 0.92 ) = 0.9591... ответ опять же не верен

Правильно было бы

CODE
Z = sqrt(длина_вектора - X*X - Y*Y)


проверить можно здесь, код:

CODE
void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
    // Normalized pixel coordinates (from 0 to 1)
    vec2 uv = fragCoord/iResolution.xy;

    // Time varying pixel color
    vec4 col = texture(iChannel0,uv);

    float length = sqrt((col.x*col.x)+(col.y*col.y)+(col.z*col.z));
    
    length = 1.f; // cjayho: comment this line for RIGHT solution
    
    col.z = (length - (col.x*col.x) - (col.y*col.y));
    
    // Output to screen
    fragColor = vec4(col.xyz,1.0);
}


Если указать единичку, то с картинкой в синем цвете чтото явно не так. А при вычислении длины вектора картинка получается более или менее приближенной к реальности.

Теперь вопрос к размышлению: для получения трех компонент, нужно получить три другие компоненты. Либо красный/зеленый/синий, либо красный/зеленый/длина_вектора.
Смысл ли вообще всех вышеуказанных вычислений. Из двух компонент три мы не получим.

Сообщение отредактировал cjayho - 23.03.2020, 01:20


--------------------
Набор шейдеров для S.T.A.L.K.E.R: Shadow of chernobyl: ECB-Shaderpack - https://github.com/cjayho/ecb-shaderpack/

------

Продюсер электронной музыки в стиле Dark Ambient, автор саундтрека для Desowave S.T.A.L.K.E.R.: Lost Alpha.

Spotify | Apple Music | YouTube | BandCamp | AudioMack
Перейти в начало страницы
 
Молния в вакууме
сообщение 23.03.2020, 02:55
Сообщение #3678


Почти Игроман
*********

Репутация:   187  
Группа: Участник
Сообщений: 647
Награды: 4
Регистрация: 05.05.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


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

Если уж хочется докопаться до чего либо то стоило упомянуть что при таком вычислении теряется знак. Впрочем карт нормалей которые вовырочивают нормали в обратную сторону я ещё не встречал, так что думаю это не так важно.
Перейти в начало страницы
 
xrModder
сообщение 23.03.2020, 02:56
Сообщение #3679


Мастер Игры
************

Репутация:   104  
Группа: Участник
Сообщений: 1331
Регистрация: 08.08.2018




Вставить ник Цитировать выделенное в форуму быстрого ответа


Синий канал приближенно можно вычислить по формуле sqrt(1-((2*r-1)^2+(2*g-1)^2)), но в некоторых местах есть косяки z_crazy.gif
Перейти в начало страницы
 
iOrange
сообщение 23.03.2020, 03:26
Сообщение #3680
BFG9000 owner

Половина землекопа
**************

Репутация:   247  
Группа: Припаркованный аккаунт
Сообщений: 1813
Награды: 3
Регистрация: 30.03.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Зарекался писать что-то в этом топике, хоть судя по названию он мне и профильный, но как-то сильно тут агрессивные все.

В прошлый раз я пытался донести до всех тут как устроен формат BC, но получил только странные нападки в стиле "разработчикам Сталкера виднее, чем тебе!"

Но рискну еще раз:
Итак, открыв эту текстуру в Фотошопе видим что только 2 канала заняты - G и A.
Это старый известный способ вытянуть максимум качества из BC3 компрессии, для нормалмап.
Осмелюсь предположить что игра все еще поддерживает DirectX 9 рендер, и потому BC5 им не доступен.
Когда мы пакуем нормалмапу в BC3 мы оставляем только 2 компоненты вектора - X и Y, т.к. знаем что Z всегда положителен.
Напомню что опорные цвета RGB блока в BC3 квантуются до r5g6b5 - т.е. у зеленого канала больше всех точность.
А еще альфа-канал лежит отдельным блоком с хорошей точность.

Значит запихиваем X и Y в G и A каналы соответственно.
Конкретно разработчики этой игры решили положить Y в G и X в A.

Z же легко восстановить из условия нормированности вектора (бедный дядя Пифагор тут не причем).

Цитата(cjayho @ 23.03.2020, 00:06) *
Из двух компонент три мы не получим.

Легко, нормаль - нормированный вектор, длина которого всегда равна 1. Соотв восстановить третий компонент - элементарно.

Цитата(Молния в вакууме @ 22.03.2020, 13:14) *
Осталось только где-то взять софт который умеет так делать.

Покажу на примере Paint.NET:
1) Идем на сайт https://www.boltbait.com/pdn/CodeLab и качаем инсталляху, устанавливаем (посление версии работают даже с Paint.NET с Windows Store)
2) Открываем текстуру в Paint.NET
3) Идем в "Effects -> Advanced -> CodeLab..."
4) File -> Open - открываем файлик который я приложил
5) Жмем ОК, наслаждаемся результатом
6) Для любой следующей текстуры достаточно просто нажать "Ctrl + F" чтоб повторить последний примененный эффект

Скрипт для Paint.NET: http://s.gameru.net/metro/SurvariumNormalmapRestore.cs







--------------------
Hello worlds!
Перейти в начало страницы
 
xrModder
сообщение 23.03.2020, 04:27
Сообщение #3681


Мастер Игры
************

Репутация:   104  
Группа: Участник
Сообщений: 1331
Регистрация: 08.08.2018




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(iOrange @ 23.03.2020, 06:22) *
Restore Survarium normal map
Зарекался писать что-то в этом топике, хоть судя по названию он мне и профильный, но как-то сильно тут агрессивные все.

В прошлый раз я пытался донести до всех тут как устроен формат BC, но получил только странные нападки в стиле "разработчикам Сталкера виднее, чем тебе!"

Но рискну еще раз:
Итак, открыв эту текстуру в Фотошопе видим что только 2 канала заняты - G и A.
Это старый известный способ вытянуть максимум качества из BC3 компрессии, для нормалмап.
Осмелюсь предположить что игра все еще поддерживает DirectX 9 рендер, и потому BC5 им не доступен.
Когда мы пакуем нормалмапу в BC3 мы оставляем только 2 компоненты вектора - X и Y, т.к. знаем что Z всегда положителен.
Напомню что опорные цвета RGB блока в BC3 квантуются до r5g6b5 - т.е. у зеленого канала больше всех точность.
А еще альфа-канал лежит отдельным блоком с хорошей точность.

Значит запихиваем X и Y в G и A каналы соответственно.
Конкретно разработчики этой игры решили положить Y в G и X в A.

Z же легко восстановить из условия нормированности вектора (бедный дядя Пифагор тут не причем).

Цитата(cjayho @ 23.03.2020, 00:06) *
Из двух компонент три мы не получим.

Легко, нормаль - нормированный вектор, длина которого всегда равна 1. Соотв восстановить третий компонент - элементарно.

Цитата(Молния в вакууме @ 22.03.2020, 13:14) *
Осталось только где-то взять софт который умеет так делать.

Покажу на примере Paint.NET:
1) Идем на сайт https://www.boltbait.com/pdn/CodeLab и качаем инсталляху, устанавливаем (посление версии работают даже с Paint.NET с Windows Store)
2) Открываем текстуру в Paint.NET
3) Идем в "Effects -> Advanced -> CodeLab..."
4) File -> Open - открываем файлик который я приложил
5) Жмем ОК, наслаждаемся результатом
6) Для любой следующей текстуры достаточно просто нажать "Ctrl + F" чтоб повторить последний примененный эффект

Скрипт для Paint.NET: http://s.gameru.net/metro/SurvariumNormalmapRestore.cs






Великолепно!

Конвертировал несколько стандартных normal map в XY normal map (как в Survarium'е), потом восстановил синий канал и сравнил с оригиналом - разницы практический нет.

Большое спасибо за скрипт! smile.gif
Перейти в начало страницы
 

227 страниц V  « < 182 183 184 185 186 > » 
Ответить в данную темуНачать новую тему
5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28.04.2024, 22:16