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

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

43 минуты назад, _ХоЗаР_ сказал:

@shuherist, ищи стороки в вертексных шейдрах типа:

P = watermove (P);


P 	= watermove	(P);

И удаляй

не непомогло и это может я чет неправильно понял...у меня стоит в игре r2 рендер, захожу в папке r2 в шейдер water.vs нашел строку она там одна p =watermove (p); удалил - сохранил, захожу в игру, а вода также движется или скайлится непойму в чем прикол может выложить файл vs так будет понятней в чем с ней дело?

Добавлено warwer,

Не нужно цитировать предыдущий пост целиком. И без того понятно.

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

@shuherist, помимо движения у воды есть искажения, может их ты хочешь убрать?

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

6 ГБ ОЗУ DDR3 1098 мГц (Разносорт)

Процессор Intel Xeon E5420 4/4 2.5 ГГц

Видеокарта Gigabyte GeForce GT 240 512 МБ GDDR5 (Samsung) DirectX v10.1

 

Ссылка на комментарий
4 минуты назад, _ХоЗаР_ сказал:

@shuherist, помимо движения у воды есть искажения, может их ты хочешь убрать?

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

Добавлено warwer,

Не нужно цитировать предыдущий пост целиком. И без того понятно.

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

Привет всем, подскажите, я склонировал шейдер в шейдер эдиторе, и назвал его по другому, допустим def_vertex_zabor. Назначил его текстуре и как мне теперь такой же шейдер добавить в игру, ну то есть чтобы у меня в папке с shaders был файлик типа vert.vs, чтобы можно было поковыряться и увидеть результат в игре? Я опять же склонировал vert.vs и назвал его vertex_zabor.vs естественно это ничего не дает, как правильно сделать? Извиняюсь за возможно глупый вопрос, это мои первые шаги по шейдерам:)

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

@Tolyan, в Актор Эдиторе или Левел Эдиторе (в библиотеке объектов) у модели нужно назначить шейдер.

В папке шейдеров vs и ps - это еще далеко не то, что ты мутишь - это верхушки. Корень шейдеров забит в код LE и AE и его так просто не изменить.

В шейдер Эдиторе в верху, в таблице настроек шейдера видишь белую строчку? Это и есть корень.

 

3a6068452ebfd73881deb7f5228e4eae1fadf034

 

 

 

 

 

Изменено пользователем Expropriator

andreyholkin.gif

rod_cccp.gif

 

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

@Tolyan, посмотри тут, может поможет http://stalkerin.gameru.net/wiki/index.php?title=Скриптовые_шейдеры

хотя наверное это не то  что тебе нужно.

Изменено пользователем Akello
  • Полезно 1
%C0%EA%E5%EB%EB%EE.gif
Ссылка на комментарий

Не могу найти шейдер "models_lense_scope" 

Как я могу добавить этот эффект рендеринга в SDK? Я пытался повторить lense_scope.ps движка OGSR, но SDK не может его прочитать.

 

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

@通神, Во-первых, он не заработает на оригинальном движке. Во-вторых, недостаточно скопировать шейдр в сдк, помимо этого необходимо скопировать скриптовый шейдр в папке gamedata\shaders\...\название_шейдра.s и все зависимые или затрагиваемые файлы. Надеюсь популярно объяснил. 

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

6 ГБ ОЗУ DDR3 1098 мГц (Разносорт)

Процессор Intel Xeon E5420 4/4 2.5 ГГц

Видеокарта Gigabyte GeForce GT 240 512 МБ GDDR5 (Samsung) DirectX v10.1

 

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

@Anonim, возможно ускорить процесс ожидания. Я такие темы обожаю.

Интрига это хорошо, я хочу быть первым, кто это у тебя украдёт.

andreyholkin.gif

rod_cccp.gif

 

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

Я конечно совсем не @Anonim, но тоже не против хороших отражений

  • Нравится 1
Скрытый текст

6 ГБ ОЗУ DDR3 1098 мГц (Разносорт)

Процессор Intel Xeon E5420 4/4 2.5 ГГц

Видеокарта Gigabyte GeForce GT 240 512 МБ GDDR5 (Samsung) DirectX v10.1

 

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

Всем привет, статейка по SSLR и реализации луж в  S.T.A.L.K.E.R. пока откладывается, так как я начал делать кое-что новое, а именно физически корректное атмосферное рассеивание. Что же это? Смотрите ссылку->Accurate Atmospheric Scattering

 

Зачем оно? Использование skybox текстуры отпадает, ведь цвет неба расcчитывается шейдером исходя из положения солнца в world space.

 

Как оно получилось в S.T.A.L.K.E.R.:

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

ss-09-27-19-02-15-38-shaderstest.jpg ss-09-27-19-02-15-54-shaderstest.jpg ss-09-27-19-02-15-57-shaderstest.jpg ss-09-27-19-02-16-01-shaderstest.jpg ss-09-27-19-02-16-06-shaderstest.jpg

 

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

Оставлять это так нельзя, ведь в реале на небе ещё и облака есть. Наверное многие знают о игре Horizon Zero Dawn и о её технологии создания volumetric clouds.

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

 

Собственно, исследуя интернет и папирусы Horizon Zero Dawn начал реализацию.

 

Вот так оно, конечно же Work in Progress:

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

ss-09-27-19-14-25-57-shaderstest.jpg ss-09-27-19-14-26-02-shaderstest.jpg ss-09-27-19-14-26-06-shaderstest.jpg

Толкового освещения ещё нет, но всё же, я убедился что вполне реально это реализовать.

 

ss-09-27-19-14-42-06-shaderstest.jpg

 

Конечно же, на скриншотах нет skybox текстуры, всё сделано в реалтайме, убедиться в этом можно сравнивая скриншоты по порядку.

Изменено пользователем Anonim
  • Нравится 1
Ссылка на комментарий
1 час назад, Anonim сказал:

Наверное многие знают о игре Horizon Zero Dawn и о её технологии создания volumetric clouds.

Нет. Но знаю о RDR2.

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

@ed_rez Here's working code from my mod.
 

 

 


 


float ripples(float2 tc)
{
	float resolution = 15.;
	float2 uv = tc * resolution;
    float2 p0 = floor(uv);

    float2 circles;
    for (int j = -2; j <= 2; ++j)
    {
        for (int i = -2; i <= 2; ++i)
        {
			float2 pi = p0 + float2(i, j);
            float2 hsh = hash22(pi);
            float2 p = pi + hash22(hsh);

            float t = frac(0.35f*timers.x + hash12(hsh));
            float2 v = p - uv;
            float d = length(v) - (float(2.f) + 1.)*t;

            float h = 1e-3;

			//1st pass
            float d1 = d - h;
            float p1 = sin(31.*d1) * smoothstep(-0.6, -0.3, d1) * smoothstep(0., -0.3, d1);
			//sec pass
            float d2 = d + h;
            float p2 = sin(31.*d2) * smoothstep(-0.6, -0.3, d2) * smoothstep(0., -0.3, d2);
            circles += 0.5 * normalize(v) * ((p2 - p1) / (2. * h) * (1. - t) * (1. - t));
        }
    }
    circles /= float((2*3+1)*(2*2+1));

    float intensity = lerp(0.025f, 0.15, smoothstep(0.1, 0.6, frac(0.05 + 0.05)*2.-1.));
    float3 n = float3(circles, sqrt(1. - dot(circles, circles)));
	
	float final = 10.*pow(clamp(dot(n, normalize(float3(1., 0.7, 0.5))), 0., 1.), 6.);
	return final;
}

 



Example of use

	float4 base;
	base	= tex2D (s_base,I.tbase);

	base += ripples(I.tbase);


 

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

@DDamian724, Оно должно работать по другому, например так:

float4 base;
base	= tex2D (s_base,I.tbase + ripples(I.tbase) * 0.05f);

А если по хорошему, то этот шейдр возвращает normal map :)

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

6 ГБ ОЗУ DDR3 1098 мГц (Разносорт)

Процессор Intel Xeon E5420 4/4 2.5 ГГц

Видеокарта Gigabyte GeForce GT 240 512 МБ GDDR5 (Samsung) DirectX v10.1

 

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

Всем привет! Кто знает как отключить шейдер effects_waterstuden от настройки "Мягкая вода" принудительно, но чтобы остальные шейдеры воды могли ее использовать

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

@shuherist, смотря какие шейдеры у тебя указаны в скриптовом шейдере, проходишь в пиксельный шейдер и удаляешь там макрос NEED_SOFT_WATER.

 

Шедейвр для воды один основной water.ps\vs, который другие(water_soft,water_studen etc...) юзают в кач-ве родительского лишь оперируя макросами.

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

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

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

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

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

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

Войти

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

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

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...