mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Made character the centre of the fog
This commit is contained in:
parent
732ba9ac02
commit
d663da27b5
@ -40,7 +40,7 @@ void main() {
|
||||
|
||||
vec3 surf_color = model_col.rgb * f_col * (ambient + sun_diffuse);
|
||||
|
||||
float fog_level = fog(f_pos.xy, cam_pos.xy);
|
||||
float fog_level = fog(f_pos.xy, focus_pos.xy);
|
||||
vec3 fog_color = get_sky_color(normalize(f_pos - cam_pos.xyz), time_of_day.x);
|
||||
vec3 color = mix(surf_color, fog_color, fog_level);
|
||||
|
||||
|
@ -19,8 +19,8 @@ vec3 get_sky_color(vec3 dir, float time_of_day) {
|
||||
return mix(SKY_BOTTOM, SKY_TOP, (dir.z + 1.0) / 2.0) + sun_light;
|
||||
}
|
||||
|
||||
float fog(vec2 f_pos, vec2 cam_pos) {
|
||||
float dist = distance(f_pos, cam_pos) / view_distance.x;
|
||||
float fog(vec2 f_pos, vec2 focus_pos) {
|
||||
float dist = distance(f_pos, focus_pos) / view_distance.x;
|
||||
float min_fog = 0.5;
|
||||
float max_fog = 1.0;
|
||||
|
||||
|
@ -43,7 +43,7 @@ void main() {
|
||||
|
||||
vec3 surf_color = f_col * light;
|
||||
|
||||
float fog_level = fog(f_pos.xy, cam_pos.xy);
|
||||
float fog_level = fog(f_pos.xy, focus_pos.xy);
|
||||
vec3 fog_color = get_sky_color(normalize(f_pos - cam_pos.xyz), time_of_day.x);
|
||||
vec3 color = mix(surf_color, fog_color, fog_level);
|
||||
|
||||
|
@ -131,7 +131,7 @@ impl Scene {
|
||||
|
||||
// Update chunk loaded distance smoothly for nice shader fog
|
||||
let loaded_distance = client.loaded_distance().unwrap_or(1) as f32 * 32.0;
|
||||
self.loaded_distance = 0.98 * self.loaded_distance + 0.02 * loaded_distance;
|
||||
self.loaded_distance = (0.98 * self.loaded_distance + 0.02 * loaded_distance).max(0.1);
|
||||
|
||||
// Update global constants.
|
||||
renderer
|
||||
|
Loading…
Reference in New Issue
Block a user