Better clouds at distance

This commit is contained in:
Joshua Barretto 2020-01-20 00:48:14 +00:00
parent 5e6f81b86c
commit dbf650f504
3 changed files with 6 additions and 3 deletions

View File

@ -73,7 +73,7 @@ vec4 get_cloud_color(vec3 dir, vec3 origin, float time_of_day, float max_dist, f
}
}
float total_density = 1.0 - passthrough / (1.0 + delta * 0.0001);
float total_density = 1.0 - passthrough / (1.0 + pow(max_dist, 0.5) * 0.0001 + max((0.015 - dir.z) * 0.0001, 0.0) * max_dist);
total_density = max(total_density - 1.0 / pow(max_dist, 0.25), 0.0); // Hack

View File

@ -12,7 +12,7 @@ vec2 splay(vec2 pos, float e) {
}
vec3 lod_pos(vec2 v_pos) {
vec2 hpos = focus_pos.xy + splay(v_pos, 4.0) * 100000.0;
vec2 hpos = focus_pos.xy + splay(v_pos, 5.0) * 1000000.0;
return vec3(hpos, alt_at(hpos));
}

View File

@ -14,5 +14,8 @@ out vec4 tgt_color;
void main() {
vec4 _clouds;
tgt_color = vec4(get_sky_color(normalize(f_pos), time_of_day.x, cam_pos.xyz, vec3(-100000), 1.0, true, _clouds), 1.0);
vec3 cam_dir = normalize(f_pos - cam_pos.xyz);
vec3 world_pos = cam_pos.xyz + cam_dir * 500000.0;
tgt_color = vec4(get_sky_color(normalize(f_pos), time_of_day.x, cam_pos.xyz, world_pos, 1.0, true, _clouds), 1.0);
}