_ХоЗаР_ 47 Опубликовано 30 Марта 2021 Поделиться Опубликовано 30 Марта 2021 27.03.2021 в 00:38, Biblia сказал(а): только при условии включенно ПНВ Возможно. Проверяете включен ли пнв при отправки модели на конвеер рендера. Рекомендую курить функции связаные с рендером в XrGame. Скрытый текст 6 ГБ ОЗУ DDR3 1098 мГц (Разносорт) Процессор Intel Xeon E5420 4/4 2.5 ГГц Видеокарта Gigabyte GeForce GT 240 512 МБ GDDR5 (Samsung) DirectX v10.1 Ссылка на комментарий
Cornholio 58 Опубликовано 16 Апреля 2021 Поделиться Опубликовано 16 Апреля 2021 Screen Space Contact Shadows raw без наложение и смешивание с обычными тенями и моделью освещения Видео в движении https://www.youtube.com/watch?v=5CronUii8_4 Блум и постобработка тут без сравнения, потому что надо частично менять конфиги погоды, чтобы показать до. Но думаю многие примерно знают, как выглядит сток Аномали. Никакого рейшейда - все встроенно в движок и относительно неплохо оптимизировано В процессе работа с водой не думаю что это сильно отличается по качеству от текущей воды в xray - просто чуть чуть иначе считается переход от "прозрачности к отражению" в плане просто заменить на Screen Space Refection 3 Ссылка на комментарий
_ХоЗаР_ 47 Опубликовано 16 Апреля 2021 Поделиться Опубликовано 16 Апреля 2021 15 минут назад, Cornholio сказал(а): просто заменить на Screen Space Refection Можно использывать "перевернутый бекбуфер" как вариант. С мягкой водой его как правило можно не пугаться. Да он не сильно корректный, но в отличии от других скринспейсовых техник, не "дырявый". Вот моя реализация такова вида отражений float4 ScreenSpaceLocalReflections (float3 vspos, float3 vsnorm) //Initial beam length { float3 refl_vec = normalize(reflect(normalize(vspos), normalize(vsnorm))); float2 reflPos = saturate(position_get_tc(refl_vec)); // We get the pixel position in Screen Space of the reflected geometry float canrefl = refl_vec.z > 0.0 ? 1.0 : 0.0; float4 hit_pos = gbuffer_load_position(reflPos, 1e3); // Sample s_position canrefl *= smoothstep(length(vspos), length(vspos) * 1.15, length(hit_pos)); float borderAtten = GetBorderAtten(reflPos, 0.035f); // Grease the edges of the reflections for a smoother transition float3 color; // Sample Color #ifdef USE_DX9_LOAD color = tex2D(s_image, reflPos); #else color = s_image.Sample(smp_nofilter, reflPos); #endif return float4(color, borderAtten * canrefl); } 1 1 Скрытый текст 6 ГБ ОЗУ DDR3 1098 мГц (Разносорт) Процессор Intel Xeon E5420 4/4 2.5 ГГц Видеокарта Gigabyte GeForce GT 240 512 МБ GDDR5 (Samsung) DirectX v10.1 Ссылка на комментарий
Cornholio 58 Опубликовано 16 Апреля 2021 Поделиться Опубликовано 16 Апреля 2021 спасибо! я сейчас вот это читаю и осмысливаю http://remi-genin.fr/blog/screen-space-plane-indexed-reflection-in-ghost-recon-wildlands/ вроде идея похожа, просто подменю на тот самый перевёрнутый бекбуфер, но с искажением от проекции Ссылка на комментарий
_ХоЗаР_ 47 Опубликовано 16 Апреля 2021 Поделиться Опубликовано 16 Апреля 2021 (изменено) 8 минут назад, Cornholio сказал(а): я сейчас вот это читаю и осмысливаю Прикольная тема. Неплохо показывает себя на плоских поверхностях, да и затрат в производительности почти нет. Не сравниться конечно с настоящими планарами, ибо потери информации тут примерно такие же как и у простых скринспейсов. Вот как выглядят настоящие планары на иксрее. Если позволяют ресурсы, можете их реализовать. Изменено 16 Апреля 2021 пользователем _ХоЗаР_ Скрытый текст 6 ГБ ОЗУ DDR3 1098 мГц (Разносорт) Процессор Intel Xeon E5420 4/4 2.5 ГГц Видеокарта Gigabyte GeForce GT 240 512 МБ GDDR5 (Samsung) DirectX v10.1 Ссылка на комментарий
Slevest 0 Опубликовано 24 Апреля 2021 Поделиться Опубликовано 24 Апреля 2021 Подскажите, в Чистом небе работают снопы света от ламп? Мягкий свет это оно? Можно это починить через шейдер? Если да, поделитесь шейдером пожалуйста. Ссылка на комментарий
Holy Biblie 0 Опубликовано 25 Апреля 2021 Поделиться Опубликовано 25 Апреля 2021 Здравствуйте. Перекинул шейдер models_lfo_light_dot_weapons (динамический коллиматор) из аномали на сталкер зп, подключил к модельке и словил вылет с этим еррором: ! error: (18): error X3004: undeclared identifier 'screen_res' Как я понимаю - не хватает чего-то в двигле, и без ковыряний в нем - метку, двигающуюся за центром экрана, не создать? Ссылка на комментарий
Cornholio 58 Опубликовано 27 Апреля 2021 Поделиться Опубликовано 27 Апреля 2021 25.04.2021 в 12:42, Holy Biblie сказал(а): Здравствуйте. Перекинул шейдер models_lfo_light_dot_weapons (динамический коллиматор) из аномали на сталкер зп, подключил к модельке и словил вылет с этим еррором: ! error: (18): error X3004: undeclared identifier 'screen_res' Как я понимаю - не хватает чего-то в двигле, и без ковыряний в нем - метку, двигающуюся за центром экрана, не создать? Попробуй в файле шейдера сделать замену "screen_res" на "pos_decompression_params2" Только учти, это векторные величины, они как правило пишутся так "pos_decompression_params.xy или screen_res.zw" - не сотри составляющие случайно. Я пока этим развлекался 2 Ссылка на комментарий
BOPOHua 0 Опубликовано 8 Мая 2021 Поделиться Опубликовано 8 Мая 2021 Добрый вечер! Есть ли возможность уменьшить колыхание (шатание) травы? Из за большого количества ее на экране - в глазах рябит. И еще можно ли ее заставить клонится в одном направлении имитируя направление ветра ? Нашел вот такое видео Ссылка на комментарий
Cornholio 58 Опубликовано 10 Мая 2021 Поделиться Опубликовано 10 Мая 2021 08.05.2021 в 21:03, BOPOHua сказал(а): Добрый вечер! Есть ли возможность уменьшить колыхание (шатание) травы? Из за большого количества ее на экране - в глазах рябит. И еще можно ли ее заставить клонится в одном направлении имитируя направление ветра ? Нашел вот такое видео Я не знаю способа уменьшить "волны" травы без залезания в сами шейдеры (по крайней мере я в консольных командах не видел ничего, что дало бы надежду) Поскольку я сам все свои эксперименты провожу на Аномалии, то могу только говорить на её примере (ванильный рендер ЗП хоть и является основой, но иногда может отличаться) я не уверен по этому методу, так как замерить "колыхания травы" сложно, а мой глаз не замечал каких-то проблем не гарантирую, что тебе поможет, но (!!) попробуй следующее: найди свою gamedata/shaders/папку используемого рендера (r1, r2, r3)/shared открой блокнотом файл common.h найди функцию calc_cyclic float calc_cyclic (float x) { float phase = 1.0/(2.0*3.141592653589f); float sqrt2 = 1.0;//1.4142136f; измени тут на 1.0 float sqrt2m2 = 2.0;//2.8284271f; измени тут на 2.0 float f = sqrt2m2*frac(x)-sqrt2; return f*f - 0.5; // [-1 .. +1] // а тут была 1.0, замени на 0.5 } по идее это в 2 раза уменьшит "псевдо-синусоиду" по которой считается искажение для травы что касается видоса от LV - то этого скорее всего нет в твоей версии Сталкера, это его эксперименты с искажениями PS я продолжил бороться с облаками: и пытаюсь сделать свое АО с блекджеком.. (ну вы поняли) на скрине нет фильтрации, её еще не придумал (не прочитал - как правильно делать) И я тоже задам вопрос (вдруг тут кто знает) Для АО хорошо бы сделать downscale всего Gbuffer Вроде я видел в рендере что-то связанное с этим делом в фазе AO, но я все свои эксперименты веду на движке аномалии, и хрен его знает - где и как там постарались моддеры до меня (например, я обнаружил что отдельный пасс для облаков просто был выключен) Мне надо сделать, причем довольно экономным способом, Gbuffer в половинном разрешении, желательно с небольшим блюром (шириной 1 пиксель, чтобы уменьшить разницу между увеличившимися в размере текселями) Идеи? 1 Ссылка на комментарий
Nestandart_5443 839 Опубликовано 8 Июня 2021 Поделиться Опубликовано 8 Июня 2021 Всем привет! Делаю большой пак моделей для одной модификации. Заинтересовался, есть ли возможность создать новый шейдер прозрачности или отражения. Либо адаптировать под ЧН и/или ЗП какой-то уже имеющийся, помимо стандартных Window, FUR и Transparent. В ТЧ на статике очень нравились зеркальные отражения на оружии в местах, где была прозрачность на текстуре. И отражения в стеклах НПС. В идеале мне бы запилить полностью новый шейдер, сочетающий в себе прозрачность, отражения и шоб он ещё не перекрывал партиклы. А то сквозь огонь, дым и тд видно отдельно стёкла противогаза. Сам в шейдерах ноль без палки. Тему пробежал, ответа не нашёл, в Я поисковике тоже особо ничё нет. Надеюсь на вашу помощь. Ссылка на комментарий
Cornholio 58 Опубликовано 8 Июня 2021 Поделиться Опубликовано 8 Июня 2021 (изменено) 7 часов назад, Nestandart_5443 сказал(а): Заинтересовался, есть ли возможность создать новый шейдер прозрачности или отражения. Возможно всё. Вопрос только в постановке задачи и времени-сложности реализации. А раз ты сам в шейдерах ноль, то не знаю - как именно ты собрался это делать. Как мне говорил LV можно делать индивидуальные шейдеры под определенный mat ID, например, так реализован светящийся экран PDA в модах, где есть "физический" PDA. К сожалению деталей я не знаю, меня мало интересовали "частные случаи" я больше работаю с универсальными подходами. Пример "отложенного" шедера для npc model_npc.s function normal(shader, t_base, t_second, t_detail) shader:begin("deferred_npc","deferred_npc") : fog (false) shader:dx10stencil(true, cmp_func.always, 255 , 127, stencil_op.keep, stencil_op.replace, stencil_op.keep) shader:dx10stencil_ref(1) shader:dx10texture("s_base", t_base) shader:dx10texture("s_bump", t_base.."_bump") shader:dx10texture("s_bumpX", t_base.."_bump#") shader:dx10sampler("smp_base") end deffered_npc.vs #include "common.h" #include "skin.h" v2p_bumped _main( v_model I ) { v2p_bumped O; //Hpos and texcoord O.hpos = mul(m_WVP, I.P); O.tcdh = float4(I.tc.xyyy); //Hemi float3 Nw = mul((float3x3)m_W, I.N.xyz); float3 hc_pos = (float3)hemi_cube_pos_faces; float3 hc_neg = (float3)hemi_cube_neg_faces; float3 hc_mixed = (Nw < 0) ? hc_neg : hc_pos; float hemi_val = dot( hc_mixed, abs(Nw) ); hemi_val = saturate(hemi_val); //TBN float3 N = I.N; float3 T = I.T; T = normalize(T - dot(T,N) * N); float3 B = cross(N,T); float3x3 xform = mul((float3x3)m_WV, float3x3( 2*T.x,2*B.x,2*N.x, 2*T.y,2*B.y,2*N.y, 2*T.z,2*B.z,2*N.z )); // Feed this transform to pixel shader O.M1 = xform[0]; O.M2 = xform[1]; O.M3 = xform[2]; //Position float3 Pe = mul(m_WV, I.P); O.position = float4(Pe, hemi_val); //Use L_material.x for old behaviour; return O; } ///////////////////////////////////////////////////////////////////////// #ifdef SKIN_NONE v2p_bumped main(v_model v) { return _main(v); } #endif #ifdef SKIN_0 v2p_bumped main(v_model_skinned_0 v) { return _main(skinning_0(v)); } #endif #ifdef SKIN_1 v2p_bumped main(v_model_skinned_1 v) { return _main(skinning_1(v)); } #endif #ifdef SKIN_2 v2p_bumped main(v_model_skinned_2 v) { return _main(skinning_2(v)); } #endif #ifdef SKIN_3 v2p_bumped main(v_model_skinned_3 v) { return _main(skinning_3(v)); } #endif #ifdef SKIN_4 v2p_bumped main(v_model_skinned_4 v) { return _main(skinning_4(v)); } #endif FXVS; аналогичным способом можно "переписать" шейдеры для конкретных моделей/материалов Что касается кода выше - я сам его не проверял, что именно он делает. Это просто пример работы подобного подхода для "override" материала. Скорее всего он не дружит с тенями (т.е если ты будешь делать так новую геометрию - она не появится в shadowmap) Изменено 8 Июня 2021 пользователем Cornholio 1 Ссылка на комментарий
Lagrange 0 Опубликовано 30 Июня 2021 Поделиться Опубликовано 30 Июня 2021 https://ibb.co/S6FvyGV https://ibb.co/fqJsG8W Кто-нибудь знает, как добиться такого же блеска? Залезать в движок, или обойтись правой шейдеров, и, если так, то каких именно шейдеров(и строк в них)? Ссылка на комментарий
Cornholio 58 Опубликовано 2 Июля 2021 Поделиться Опубликовано 2 Июля 2021 хоть я это уже показывал в другом месте, но вдруг местной публике будет интересно: новая модель освещения - авто lvunter, чуть чуть подпилена для демонстрации мной. Попытка в полный PBR (понимаю - глупо пытаться на сток ассетах, но хоть попытались) много косяков, но работа идет 3 Ссылка на комментарий
Manche 0 Опубликовано 14 Июля 2021 Поделиться Опубликовано 14 Июля 2021 Какой шейдер отвечает за тень от солнца в ЧН ? Беда с тенями. Ссылка на комментарий
Cornholio 58 Опубликовано 20 Июля 2021 Поделиться Опубликовано 20 Июля 2021 14.07.2021 в 18:16, Manche сказал: Какой шейдер отвечает за тень от солнца в ЧН ? Беда с тенями. не совсем понимаю - что именно ты считаешь за беду. Но если речь идет о "фильтрации" теней - то тебе в shadow.h 1 Ссылка на комментарий
Шипэтя 0 Опубликовано 24 Июля 2021 Поделиться Опубликовано 24 Июля 2021 (изменено) Только не бейте палкой я не знаю в какую нужно тему обращаться, у меня проблема вот таки пересветы повсюду примечание мод ганс и адаптирована погода из аномали и все работает нормально но пересветы убивают все Изменено 24 Июля 2021 пользователем Шипэтя Ссылка на комментарий
Space.Marine 466 Опубликовано 24 Июля 2021 Поделиться Опубликовано 24 Июля 2021 37 минут назад, Шипэтя сказал: но пересветы убивают все Попробуй удалить user.ltx. Настройки графики сбросятся на дефолтные. Может поможет. 1 Ссылка на комментарий
Шипэтя 0 Опубликовано 24 Июля 2021 Поделиться Опубликовано 24 Июля 2021 @Space.Marine 11 минут назад, Space.Marine сказал: Попробуй удалить user.ltx. Не помогло, как я понял по тестам, таких пересветов нет только на статике, а если другие подрубать то тут начинается резня по глазам, может еще есть способ? Ссылка на комментарий
Cornholio 58 Опубликовано 25 Июля 2021 Поделиться Опубликовано 25 Июля 2021 @Шипэтя в консоли комманда r2_sun_lumscale для нее возможны значения от 0 до 3, попробуй что-то в районе 1.0 её так же дополняют r2_sun_lumscale_amb r2_sun_lumscale_hemi с аналогичным диапазоном значений - попробуй уменьшать/подогнать под себя. Добавлено HellRatz, 12 Августа 2021 Обратите внимание на правила цитирования. Оверквоттинг на форуме запрещен. Не обязательно цитировать пост целиком, тем более предыдущий. 1 2 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти