Romann 623 Опубликовано 5 Октября 2019 (изменено) В 04.10.2019 в 00:52, Expropriator сказал: Там код шейдеров другой Та же беда и под ЗП r3-r4, пытался переписать - не взлетает, говорит не порядок с вектором в SSLR, там как минимум "tex2D" не используется, переписывал на примерах из шейдеров, но ему не нравится..( Да и с r2 на ЗП тоже непорядок, сделал из репо - лужа есть, при чём она постоянна, не зависит от дождя, отражение вроде есть, но при разных углах взгляда артефактит дико. Да ещё - лужа есть, идёт дождь или нет, но афальт всегда стоит сухой, так же с дождём или без. Или я может в репо что-то упустил? ************************************************************************************************************** В общем, что сделал: движок "OXR_CoC", из вышеуказанного репозитория всё по SSLR перетянул сначала для r2, потом сделал тоже самое для r3-r4, с небольшими изменениями под эти рендеры(оказалось больше файлов где надо добавить дополнительные аргументы, чем у r2), движок скомпилил. По шейдерам для r2 сделал всё так же, как в репозитории, различий много не увидел, для r3-r4 пытался переписать - не вышло, не взлетает. На r2.5 вот такие получились "Типа лужи". Изменено 6 Октября 2019 пользователем Romann Мать: 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Поделиться этим сообщением Ссылка на сообщение
Romann 623 Опубликовано 5 Ноября 2019 (изменено) Кто нибудь пробовал реализовать эти отражения на ЗП? @Anonim, получилось сделать(ЗП - r2), но вот незадача - когда вертишь головой, по краям камеры возникают такие полосы/искажения: Скрытый текст Что с этим можно сделать? Если использовать в шейдере такой код: Скрытый текст Вот тот, что закомментирован: float4 get_6x6_image(float2 tc) { half depth = tex2D(s_position, tc).z; half depth_s = depth * (1 - step(0.001, abs(depth - 10000))); float4 sample; sample.xyz = tex2D(s_image, tc).xyz; float red_normal = tex2D(s_image, tc).x; /* float red_low1, red_high1, red_low2, red_high2, red_low3, red_high3, red_low4, red_high4, red_low5, red_high5, red_low6, red_high6, red_low7, red_high7, red_low8, red_high8, red_low9, red_high9, red_low10, red_high10, red_low11, red_high11, red_low12, red_high12; red_low1 = tex2D(s_image, float2(tc.x,tc.y-screen_res.w*1)).x; red_high1 = tex2D(s_image, float2(tc.x,tc.y+screen_res.w*1)).x; red_low2 = tex2D(s_image, float2(tc.x,tc.y-screen_res.w*4)).x; red_high2 = tex2D(s_image, float2(tc.x,tc.y+screen_res.w*4)).x; red_low3 = tex2D(s_image, float2(tc.x-screen_res.w*4,tc.y)).x; red_high3 = tex2D(s_image, float2(tc.x+screen_res.w*4,tc.y)).x; red_low4 = tex2D(s_image, float2(tc.x-screen_res.w*8,tc.y)).x; red_high4 = tex2D(s_image, float2(tc.x+screen_res.w*8,tc.y)).x; red_low5 = tex2D(s_image, float2(tc.x,tc.y-screen_res.w*8)).x; red_high5 = tex2D(s_image, float2(tc.x,tc.y+screen_res.w*8)).x; red_low6 = tex2D(s_image, float2(tc.x,tc.y-screen_res.w*12)).x; red_high6 = tex2D(s_image, float2(tc.x,tc.y+screen_res.w*12)).x; red_low7 = tex2D(s_image, float2(tc.x-screen_res.w*12,tc.y)).x; red_high7 = tex2D(s_image, float2(tc.x+screen_res.w*12,tc.y)).x; red_low8 = tex2D(s_image, float2(tc.x-screen_res.w*16,tc.y)).x; red_high8 = tex2D(s_image, float2(tc.x+screen_res.w*16,tc.y)).x; red_low9 = tex2D(s_image, float2(tc.x,tc.y-screen_res.w*16)).x; red_high9 = tex2D(s_image, float2(tc.x,tc.y+screen_res.w*16)).x; red_low10 = tex2D(s_image, float2(tc.x,tc.y-screen_res.w*20)).x; red_high10 = tex2D(s_image, float2(tc.x,tc.y+screen_res.w*20)).x; red_low11 = tex2D(s_image, float2(tc.x-screen_res.w*1,tc.y)).x; red_high11 = tex2D(s_image, float2(tc.x+screen_res.w*1,tc.y)).x; red_low12 = tex2D(s_image, float2(tc.x-screen_res.w*20,tc.y)).x; red_high12 = tex2D(s_image, float2(tc.x+screen_res.w*20,tc.y)).x; if(depth == depth_s) {sample.w = 0.012345;} if ( (red_normal != red_low1) && (red_normal != red_high1) && (red_normal != red_low2) && (red_normal != red_high2) && (red_normal != red_low3) && (red_normal != red_high3) && (red_normal != red_low4) && (red_normal != red_high4) && (red_normal != red_low5) && (red_normal != red_high5) && (red_normal != red_low6) && (red_normal != red_high6) && (red_normal != red_low7) && (red_normal != red_high7) && (red_normal != red_low8) && (red_normal != red_high8) && (red_normal != red_low9) && (red_normal != red_high9) && (red_normal != red_low10) && (red_normal != red_high10) && (red_normal != red_low11) && (red_normal != red_high11) && (red_normal != red_low12) && (red_normal != red_high12) ) { sample.w = 1; } else { sample.w = 0; } */ sample.w = 1; return sample; } То этих полос нету, но тогда если на модель/геометрию не попадает свет - отражение бьётся, иногда в отражении просто дырки - а иногда всё побито... -> Изменено 5 Ноября 2019 пользователем Romann Мать: 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Поделиться этим сообщением Ссылка на сообщение
Romann 623 Опубликовано 8 Ноября 2019 Ну на r2 получилось сделать нормально на движке OXR_CoC, есть там конечно несколько проблемных моментов, но они прям в глаза не бросаются. Мать: 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Поделиться этим сообщением Ссылка на сообщение