DDamian724 18 Опубликовано 25 Декабря 2014 Поделиться Опубликовано 25 Декабря 2014 it possible make lens flares from lights? Ссылка на комментарий
Romann 623 Опубликовано 25 Декабря 2014 Поделиться Опубликовано 25 Декабря 2014 Ещё кое-что о ребристости. Добавляем блюр в лучи #ifdef SS_BLURfloat blur_delta = 2 * (.5f/1024.f); out_color += (tex2Dlod(s_image, float4(tc + blur_delta,0,0)) + tex2Dlod(s_image, float4(tc - blur_delta,0,0))) * (1.f/2.f) * SS_BLEND_FACTOR; #else out_color += float3(0.3, 0.3, 0.3); #endif Anonimподскажи в какой шейдер добавлять этот блюр? В ogse_sunshafts.h ? И после каких строк? Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz). Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб). Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Ссылка на комментарий
Viнt@rь 50 Опубликовано 26 Декабря 2014 Поделиться Опубликовано 26 Декабря 2014 @KD87, не сочти за наглость)) Я только начинаю разбираться в игровой графике и в шейдерах, потому, если тебе не составит труда, может подтолкнешь хотя бы примерно где копать(за сан флары знаю, уже даже обдумывал этот вариант), а то не пойму я, как рендерить квады эти(рисовать дерт для каждой лампы???), и мб есть где за это почитать? Мб есть вариант попроще и более правильный? Или твой вариант и является правильным и рациональным? Где-то видел, что можно привязать к блюму от лампочек, эффект будет похуже чем из расчета позиций источников освещения(наверное и имелось ввиду то, что ты сказал), но, тоже более-менее нормальный. ЗЫ прошу сильно не бить, мб и бредятину понаписывал))) 1 GUI для конвертера от бардака(всего и вся в форматы сдк) Полезный утиль-"Utilits pack(mod)" Ссылка на комментарий
Anonim 680 Опубликовано 26 Декабря 2014 Поделиться Опубликовано 26 Декабря 2014 (изменено) out_color += float3(0.3, 0.3, 0.3); Эту строку, замени на #ifdef SS_BLURfloat blur_delta = 2 * (.5f/1024.f); out_color += (tex2Dlod(s_image, float4(tc + blur_delta,0,0)) + tex2Dlod(s_image, float4(tc - blur_delta,0,0))) * (1.f/2.f) * SS_BLEND_FACTOR; #else out_color += float3(0.3, 0.3, 0.3); #endif И добавь соответствующие дефайны, можешь в начало фала, а можешь в конфиг файл #define SS_BLUR #define SS_BLEND_FACTOR 0.9 Изменено 26 Декабря 2014 пользователем Anonim 1 Ссылка на комментарий
Это популярное сообщение. KD87 718 Опубликовано 26 Декабря 2014 Автор Это популярное сообщение. Поделиться Опубликовано 26 Декабря 2014 (изменено) может подтолкнешь хотя бы примерно где копать К сожалению, понимания у тебя нет даже приблизительного. Как бы я не рассказал, все равно не поможет. Представь себе картинку саму - есть у тебя текстура с грязью на весь экран. Надо в местах ламп ее проявлять. Как это сделать? Ну нарисуй на месте лампы квадрат с лампой в центре, спроецируй на экран и получишь как раз те пиксели, что надо проявить. Как нарисовать квадрат на месте лампы? Очевидно, так же, как рисуются солнечные флары, еще точнее, как само солнце рисуется - там тоже простой квад. Код готовый есть, выкидывай шелуху, правь под параметры лампы (направление там, позиция и т.д.) и рисуй. Где рисовать? Ну тоже очевидно - в месте, где есть позиция лампы, т.е., где рендерятся лампы, а это CRenderTarget::accum_spot/accum_point. В сумме с тебя требуется суметь разобраться в векторной арифметике при рисовке квадов, повернутых к камере, и написать шейдер, который считает координаты для семплирования экранной текстуры. Алгоритм я уже в деталях расписал. Ах, да, деталь - лично я флары и дерт рисую в отдельный рендертаргет, а потом смешиваю его с картинкой уже в самом конце, в combine_2. Очевидно, можно рендерить и в общий аккумулятор освещения, но переделывать уже неохота. Где-то видел, что можно привязать к блюму от лампочек Блум - это просто заблуренная картинка низкого разрешения, где блур идет с взвешиванием пикселей по яркости. Т.е., если у тебя большой sun_lumscale выставлен, или любой другой lumscale, или просто пересвет по каким-то причинам, в блум-текстуре будет просто месиво из ярких пятен и все. Ну и конечно даже при нормальной яркости на поверхностях есть блики от ламп, например, т.е. засвет дерта будет не только в тех местах, что нужно. Изменено 26 Декабря 2014 пользователем KD87 1 4 Ссылка на комментарий
Romann 623 Опубликовано 26 Декабря 2014 Поделиться Опубликовано 26 Декабря 2014 Anonim С этим есть проблема - у меня ogse_sunshafts.h выглядит немного по другому, вот содержимое /* Volumetric Sunlights aka GodRays aka Sunshafts made by K.D. (OGSE team) used papers: 1) GPU Gems 3. Volumetric Light Scattering as a Post-Process (Kenny Mitchell) 2) –еализаци¤ процессора эффектов постобработки. „асть 2 - —оздание пост-эффектов. (¬ладимир ƒь¤чков ЂNikola Teslaї) 3) Crysis shaders */ #ifndef OGSE_SUNSHAFTS_H #define OGSE_SUNSHAFTS_H #include "common.h" #ifndef SS_QUALITY #define SS_MAX_SAMPLES int(1) #else #if SS_QUALITY==1 #define SS_MAX_SAMPLES int(30) #else #if SS_QUALITY==2 #define SS_MAX_SAMPLES int(70) #else #if SS_QUALITY==3 #define SS_MAX_SAMPLES int(250) #endif #endif #endif #endif // #define SS_FARPLANE 180 // менять не стоит #define SS_FARPLANE float(180.0) uniform float4 common_params2; uniform sampler2D s_jitter_0; // стандартный шум, 64x64 uniform sampler2D s_jitter_1; // стандартный шум, 64x64 uniform sampler2D s_jitter_5; // шум высокого разрешени¤, 1024x1024 float normalize_depth(float depth) { return (saturate(depth/SS_FARPLANE)); } float3 blend_soft_light(float3 a, float3 { float3 c = 2 * a * b + a * a * (1 - 2 * ; float3 d = sqrt(a) * (2 * b - 1) + 2 * a * (1 - ; return ( b < 0.5 )? c : d; } float3 sunshafts(float2 tc, float3 init_color) { // dist to the sun float sun_dist = SS_FARPLANE / (sqrt(1 - L_sun_dir_w.y * L_sun_dir_w.y)); // sun pos float3 sun_pos_world = sun_dist*L_sun_dir_w + eye_position; float4 sun_pos_projected = mul(m_VP, float4(sun_pos_world, 1)); float4 sun_pos_screen = convert_to_screen_space(sun_pos_projected)/sun_pos_projected.w; // sun-pixel vector float2 sun_vec_screen = sun_pos_screen.xy - tc; // calculate filtering effect. sunshafts must appear only when looking in the sun dir float angle_cos = dot(-eye_direction, normalize(L_sun_dir_w)); float ray_fade = saturate(saturate(angle_cos)*(1 - saturate(dot(sun_vec_screen, sun_vec_screen)))*saturate(length(sun_vec_screen))); float2 init_tc = tc; float3 pos = tex2D(s_position, tc); float dep = pos.z; float depth = normalize_depth(dep); float mask = (saturate(angle_cos*0.1 + 0.9) + depth - 0.99999) * SS_BLEND_FACTOR; // adjust sampling sun_vec_screen *= angle_cos * SS_DENSITY / SS_MAX_SAMPLES; // sampling image along ray float3 accum = 0; float depth_accum = 0; for (int i = 0; i < SS_MAX_SAMPLES; i++) { tc += sun_vec_screen; depth = normalize_depth(tex2D(s_position, tc).z); accum += depth * (1 - i / SS_MAX_SAMPLES); depth_accum += saturate(1 - depth*1000); } accum *= saturate(depth_accum/SS_MAX_SAMPLES*5); #ifdef SS_DUST float dust_size = 8/SS_DUST_SIZE; float3 jit; float2 jtc = init_tc; float2 sun_dir_e = L_sun_dir_e.xy; sun_dir_e /= sin(common_params2.x); sun_dir_e *= common_params2.y; jtc.x += sun_dir_e.x; jtc.y -= sun_dir_e.y; jtc.x = (jtc.x > 1.0)?(jtc.x-1.0):jtc.x; jtc.y = (jtc.y < 0.0)?(1.0-jtc.y):jtc.y; jit.x = tex2D(s_jitter_0, float2(jtc.x, jtc.y + timers.x*0.01*SS_DUST_SPEED)*dust_size).x; jit.y = tex2D(s_jitter_1, float2(jtc.x + timers.x*0.01*SS_DUST_SPEED, jtc.y)*dust_size).y; jit.z = tex2D(s_jitter_5, jtc).x; jit.z = saturate(jit.z + SS_DUST_DENSITY - 1); float3 dust = saturate(float3(jit.x, jit.x, jit.x)*float3(jit.y, jit.y, jit.y)*float3(jit.z, jit.z, jit.z)); float len = length(dust); dust *= SS_DUST_INTENSITY; dust = lerp(0, dust, (1 - saturate(dep * 0.2)) * (1 - saturate((0.001 - dep)*10000.0))); dust += float3(1,1,1); #else float3 dust = float3(1,1,1); #endif // watch some magic: if sun is occluded by terrain or some buildings, sunshafts must be eliminated. Otherwise image is terrible. accum *= 2 * ray_fade / SS_MAX_SAMPLES * dust;// * (1 - mat); // blending float3 out_color = init_color + accum * L_sun_color * (1.0 - init_color); out_color = blend_soft_light(out_color, L_sun_color * mask * -0.1 + 0.6) - init_color; return out_color; } float3 calc_sunshafts(float2 tc, float3 init_color) { #ifndef SS_QUALITY return 0; #else return sunshafts(tc, init_color); #endif } #endif в общем такой строчки нет , я пытался сделать по вашему примеру, но тогда саншафты совсем исчезают... Подскажите как мне лучше сделать ? Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz). Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб). Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Ссылка на комментарий
Anonim 680 Опубликовано 26 Декабря 2014 Поделиться Опубликовано 26 Декабря 2014 (изменено) Блюр не для этих саншафтов, а для этих: http://www.amk-team.ru/forum/index.php?showtopic=12673&p=902084 Адаптация шейдеров RMA+Shadows Addon к шейдерам KD87 (вода,частицы,лучи,волны). Камблю Фантомная зона https://yadi.sk/d/QziIA9LZdh3yj Изменено 29 Декабря 2014 пользователем Dennis_Chikin Ссылка на комментарий
DDamian724 18 Опубликовано 6 Января 2015 Поделиться Опубликовано 6 Января 2015 Jak włączyć tryb światła r2 flash? Takich jak tryb r1? How to turn lens flares for R2? Like flares in R1? Ссылка на комментарий
KD87 718 Опубликовано 6 Января 2015 Автор Поделиться Опубликовано 6 Января 2015 You can't. Ссылка на комментарий
DDamian724 18 Опубликовано 6 Января 2015 Поделиться Опубликовано 6 Января 2015 Why? R1 have lens flare for lamp, R2 don't have. It possible add lens flare for R2? Anonim, please upload you lens flares Ссылка на комментарий
KD87 718 Опубликовано 7 Января 2015 Автор Поделиться Опубликовано 7 Января 2015 Because R2 doesn't support glow for lights. 1 Ссылка на комментарий
Anonim 680 Опубликовано 8 Января 2015 Поделиться Опубликовано 8 Января 2015 (изменено) @DDamian724, Perhaps you meant lens dirt? Изменено 8 Января 2015 пользователем Anonim Ссылка на комментарий
Samber13 227 Опубликовано 8 Января 2015 Поделиться Опубликовано 8 Января 2015 Because R2 doesn't support glow for lights. @DDamian724, this not true. It`s possible. I'll write to PersonalMessage how to make it work. И тут мелькал вопрос о сквозных прицелах. Думаю вам стоит посмотреть тут http://www.moddb.com/mods/dynamic-shaders/videos/nightvision-scopes-preview 1 Калькулятор номера билда. Ссылка на комментарий
Anonim 680 Опубликовано 8 Января 2015 Поделиться Опубликовано 8 Января 2015 (изменено) Этот эффект уже давно есть в доступе. Версия 1.2. Изменено 8 Января 2015 пользователем Anonim 1 Ссылка на комментарий
KD87 718 Опубликовано 8 Января 2015 Автор Поделиться Опубликовано 8 Января 2015 this not true Каким образом на Р2 заставить заработать глоу так же, как на Р1? Человек, очевидно, спрашивает, о назначении глоу в спавне/сдк. R1 have lens flare for lamp, R2 don't have. Ссылка на комментарий
DDamian724 18 Опубликовано 8 Января 2015 Поделиться Опубликовано 8 Января 2015 Anonim, yes. And R1 glow effect from lamp add to R2 Ссылка на комментарий
Anonim 680 Опубликовано 8 Января 2015 Поделиться Опубликовано 8 Января 2015 @DDamian724, coming soon. Ссылка на комментарий
DDamian724 18 Опубликовано 8 Января 2015 Поделиться Опубликовано 8 Января 2015 Don't give up! Ссылка на комментарий
Это популярное сообщение. Anonim 680 Опубликовано 8 Января 2015 Это популярное сообщение. Поделиться Опубликовано 8 Января 2015 (изменено) Шейдерпак Ссылка/Link: https://yadi.sk/d/xEogbsFGdrJH7 Консолки: r2_sun_shafts on/off r2_soft_particles on/off r2_soft_water on/off Файл: shaders\r2\_shaders_config.h Текстуры: textures\eoc3\lens.dds textures\water\water_foam.dds Чьи работы были использованы: KD87 Sky4CE cj yaho Codemaker Shadows А так же Рентген Расширения. Макрон сана забыл macron Изменено 8 Января 2015 пользователем Anonim 5 Ссылка на комментарий
DDamian724 18 Опубликовано 8 Января 2015 Поделиться Опубликовано 8 Января 2015 Wow! I'm a test this shaders Also, its possible to release only flares? You shader is good, i'm try to use in my own mod. Permissions is must have? Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти