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(
|
assert(float(
|
||||||
SaltWaterMaterial.get_shader_parameter("weather_fog_amount")
|
SaltWaterMaterial.get_shader_parameter("weather_fog_amount")
|
||||||
) > 0.99)
|
) > 0.99)
|
||||||
var night_rendered_fog_color := Color(
|
var night_rendered_fog_color := (
|
||||||
runtime_environment.fog_light_color.r
|
runtime_environment.fog_light_color.srgb_to_linear()
|
||||||
* 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,
|
|
||||||
)
|
)
|
||||||
|
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 := (
|
var night_water_fog_color := (
|
||||||
SaltWaterMaterial.get_shader_parameter("weather_fog_color") as Color
|
SaltWaterMaterial.get_shader_parameter("weather_fog_color") as Color
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -335,15 +335,14 @@ func _validate_weather_presentation() -> void:
|
||||||
"weather_fog_color"
|
"weather_fog_color"
|
||||||
) as Color
|
) as Color
|
||||||
)
|
)
|
||||||
var rendered_fog_color := Color(
|
var rendered_fog_color := (
|
||||||
runtime_environment.fog_light_color.r
|
runtime_environment.fog_light_color.srgb_to_linear()
|
||||||
* 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,
|
|
||||||
)
|
)
|
||||||
|
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(water_fog_color.is_equal_approx(rendered_fog_color))
|
||||||
assert(runtime_environment.fog_depth_begin <= 4.01)
|
assert(runtime_environment.fog_depth_begin <= 4.01)
|
||||||
assert(is_equal_approx(runtime_environment.fog_depth_end, 18.0))
|
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:
|
func _fog_render_color(fog_color: Color, fog_light_energy: float) -> Color:
|
||||||
return Color(
|
var linear_fog_color := fog_color.srgb_to_linear()
|
||||||
fog_color.r * fog_light_energy,
|
linear_fog_color.r *= fog_light_energy
|
||||||
fog_color.g * fog_light_energy,
|
linear_fog_color.g *= fog_light_energy
|
||||||
fog_color.b * fog_light_energy,
|
linear_fog_color.b *= fog_light_energy
|
||||||
1.0,
|
linear_fog_color.a = 1.0
|
||||||
)
|
return linear_fog_color.linear_to_srgb()
|
||||||
|
|
||||||
|
|
||||||
func _apply_sky_clouds(daylight: float, warmth: float) -> void:
|
func _apply_sky_clouds(daylight: float, warmth: float) -> void:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue