mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Handle SSR transition better
This commit is contained in:
parent
9285e48ff0
commit
d4c81cf8b8
@ -172,11 +172,11 @@ void main() {
|
|||||||
|
|
||||||
new_uv = clamp(new_uv, vec2(0), vec2(1));
|
new_uv = clamp(new_uv, vec2(0), vec2(1));
|
||||||
|
|
||||||
vec3 new_wpos = wpos_at(new_uv);;
|
vec3 new_wpos = wpos_at(new_uv);
|
||||||
float new_dist = distance(wpos_at(new_uv), cam_pos.xyz);
|
float new_dist = distance(new_wpos, cam_pos.xyz);
|
||||||
float merge = min(
|
float merge = min(
|
||||||
// Off-screen merge factor
|
// Off-screen merge factor
|
||||||
clamp((1.0 - abs(new_uv.y - 0.5) * 2) * 2.0, 0, 0.75),
|
clamp((1.0 - abs(new_uv.y - 0.5) * 2) * 3.0, 0, 0.75),
|
||||||
// Depth merge factor
|
// Depth merge factor
|
||||||
min(
|
min(
|
||||||
clamp((new_dist - dist * 0.5) / (dist * 0.5), 0.0, 1.0),
|
clamp((new_dist - dist * 0.5) / (dist * 0.5), 0.0, 1.0),
|
||||||
@ -184,12 +184,14 @@ void main() {
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
color.rgb = mix(color.rgb, texture(sampler2D(t_src_color, s_src_color), new_uv).rgb, merge);
|
if (merge > 0.0) {
|
||||||
wpos = new_wpos;
|
color.rgb = mix(color.rgb, texture(sampler2D(t_src_color, s_src_color), new_uv).rgb, merge);
|
||||||
dist = distance(wpos, cam_pos.xyz);
|
wpos = new_wpos;
|
||||||
dir = (wpos - cam_pos.xyz) / dist;
|
dist = distance(wpos, cam_pos.xyz);
|
||||||
cloud_blend = min(merge * 2.0, 1.0);
|
dir = (wpos - cam_pos.xyz) / dist;
|
||||||
is_reflection = true;
|
cloud_blend = merge;
|
||||||
|
is_reflection = true;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
#else
|
#else
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user