Merge pull request #53816 from briansemrau/fix-height-fog-but-actually
This commit is contained in:
commit
8aef0e3ad9
|
@ -757,9 +757,6 @@ void RenderForwardClustered::_setup_environment(const RenderDataRD *p_render_dat
|
|||
scene_state.ubo.fog_density = environment_get_fog_density(p_render_data->environment);
|
||||
scene_state.ubo.fog_height = environment_get_fog_height(p_render_data->environment);
|
||||
scene_state.ubo.fog_height_density = environment_get_fog_height_density(p_render_data->environment);
|
||||
if (scene_state.ubo.fog_height_density >= 0.0001) {
|
||||
scene_state.ubo.fog_height_density = 1.0 / scene_state.ubo.fog_height_density;
|
||||
}
|
||||
scene_state.ubo.fog_aerial_perspective = environment_get_fog_aerial_perspective(p_render_data->environment);
|
||||
|
||||
Color fog_color = environment_get_fog_light_color(p_render_data->environment).to_linear();
|
||||
|
|
|
@ -1637,9 +1637,6 @@ void RenderForwardMobile::_setup_environment(const RenderDataRD *p_render_data,
|
|||
scene_state.ubo.fog_density = environment_get_fog_density(p_render_data->environment);
|
||||
scene_state.ubo.fog_height = environment_get_fog_height(p_render_data->environment);
|
||||
scene_state.ubo.fog_height_density = environment_get_fog_height_density(p_render_data->environment);
|
||||
if (scene_state.ubo.fog_height_density >= 0.0001) {
|
||||
scene_state.ubo.fog_height_density = 1.0 / scene_state.ubo.fog_height_density;
|
||||
}
|
||||
scene_state.ubo.fog_aerial_perspective = environment_get_fog_aerial_perspective(p_render_data->environment);
|
||||
|
||||
Color fog_color = environment_get_fog_light_color(p_render_data->environment).to_linear();
|
||||
|
|
|
@ -531,7 +531,7 @@ vec4 fog_process(vec3 vertex) {
|
|||
|
||||
float y_dist = y - scene_data.fog_height;
|
||||
|
||||
float vfog_amount = clamp(1.0 - exp(y_dist * scene_data.fog_height_density), 0.0, 1.0);
|
||||
float vfog_amount = 1.0 - exp(min(0.0, y_dist * scene_data.fog_height_density));
|
||||
|
||||
fog_amount = max(vfog_amount, fog_amount);
|
||||
}
|
||||
|
|
|
@ -557,7 +557,7 @@ vec4 fog_process(vec3 vertex) {
|
|||
|
||||
float y_dist = y - scene_data.fog_height;
|
||||
|
||||
float vfog_amount = clamp(1.0 - exp(y_dist * scene_data.fog_height_density), 0.0, 1.0);
|
||||
float vfog_amount = 1.0 - exp(min(0.0, y_dist * scene_data.fog_height_density));
|
||||
|
||||
fog_amount = max(vfog_amount, fog_amount);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue