Correct foggy ocean horizon blending
This commit is contained in:
parent
5ec62b8465
commit
c239ca6bd5
3 changed files with 20 additions and 22 deletions
|
|
@ -311,15 +311,14 @@ func _validate_environment_presentation() -> void:
|
|||
assert(float(
|
||||
SaltWaterMaterial.get_shader_parameter("weather_fog_amount")
|
||||
) > 0.99)
|
||||
var night_rendered_fog_color := Color(
|
||||
runtime_environment.fog_light_color.r
|
||||
* runtime_environment.fog_light_energy,
|
||||
runtime_environment.fog_light_color.g
|
||||
* runtime_environment.fog_light_energy,
|
||||
runtime_environment.fog_light_color.b
|
||||
* runtime_environment.fog_light_energy,
|
||||
1.0,
|
||||
var night_rendered_fog_color := (
|
||||
runtime_environment.fog_light_color.srgb_to_linear()
|
||||
)
|
||||
night_rendered_fog_color.r *= runtime_environment.fog_light_energy
|
||||
night_rendered_fog_color.g *= runtime_environment.fog_light_energy
|
||||
night_rendered_fog_color.b *= runtime_environment.fog_light_energy
|
||||
night_rendered_fog_color.a = 1.0
|
||||
night_rendered_fog_color = night_rendered_fog_color.linear_to_srgb()
|
||||
var night_water_fog_color := (
|
||||
SaltWaterMaterial.get_shader_parameter("weather_fog_color") as Color
|
||||
)
|
||||
|
|
|
|||
|
|
@ -335,15 +335,14 @@ func _validate_weather_presentation() -> void:
|
|||
"weather_fog_color"
|
||||
) as Color
|
||||
)
|
||||
var rendered_fog_color := Color(
|
||||
runtime_environment.fog_light_color.r
|
||||
* runtime_environment.fog_light_energy,
|
||||
runtime_environment.fog_light_color.g
|
||||
* runtime_environment.fog_light_energy,
|
||||
runtime_environment.fog_light_color.b
|
||||
* runtime_environment.fog_light_energy,
|
||||
1.0,
|
||||
var rendered_fog_color := (
|
||||
runtime_environment.fog_light_color.srgb_to_linear()
|
||||
)
|
||||
rendered_fog_color.r *= runtime_environment.fog_light_energy
|
||||
rendered_fog_color.g *= runtime_environment.fog_light_energy
|
||||
rendered_fog_color.b *= runtime_environment.fog_light_energy
|
||||
rendered_fog_color.a = 1.0
|
||||
rendered_fog_color = rendered_fog_color.linear_to_srgb()
|
||||
assert(water_fog_color.is_equal_approx(rendered_fog_color))
|
||||
assert(runtime_environment.fog_depth_begin <= 4.01)
|
||||
assert(is_equal_approx(runtime_environment.fog_depth_end, 18.0))
|
||||
|
|
|
|||
|
|
@ -441,12 +441,12 @@ func _apply_water_environment(
|
|||
|
||||
|
||||
func _fog_render_color(fog_color: Color, fog_light_energy: float) -> Color:
|
||||
return Color(
|
||||
fog_color.r * fog_light_energy,
|
||||
fog_color.g * fog_light_energy,
|
||||
fog_color.b * fog_light_energy,
|
||||
1.0,
|
||||
)
|
||||
var linear_fog_color := fog_color.srgb_to_linear()
|
||||
linear_fog_color.r *= fog_light_energy
|
||||
linear_fog_color.g *= fog_light_energy
|
||||
linear_fog_color.b *= fog_light_energy
|
||||
linear_fog_color.a = 1.0
|
||||
return linear_fog_color.linear_to_srgb()
|
||||
|
||||
|
||||
func _apply_sky_clouds(daylight: float, warmth: float) -> void:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue