From 760db3ba6d7fa4b858dc06feedca848e5b8b88ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Garc=C3=ADa=20Li=C3=B1=C3=A1n?= <fernandogarcialinan@gmail.com> Date: Wed, 28 Jul 2021 11:37:33 +0200 Subject: [PATCH] HDR: gracefully handle situations where the viewer is below the ground --- Shaders/HDR/atmos-aerial-perspective.frag | 2 +- Shaders/HDR/atmos-sky-view.frag | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Shaders/HDR/atmos-aerial-perspective.frag b/Shaders/HDR/atmos-aerial-perspective.frag index 5ec3ac62b..c9be8cc8e 100644 --- a/Shaders/HDR/atmos-aerial-perspective.frag +++ b/Shaders/HDR/atmos-aerial-perspective.frag @@ -60,7 +60,7 @@ void main() vec3 rayDir = vec4(fg_ViewMatrixInverse * vec4(normalize(fragPos), 0.0)).xyz; float cameraHeight = length(fg_CameraPositionCart); - float earthRadius = cameraHeight - fg_CameraPositionGeod.z; + float earthRadius = cameraHeight - max(fg_CameraPositionGeod.z, 0.0); vec3 rayOrigin = fg_CameraPositionCart; diff --git a/Shaders/HDR/atmos-sky-view.frag b/Shaders/HDR/atmos-sky-view.frag index e0a5f6a4a..8b4d08bb7 100644 --- a/Shaders/HDR/atmos-sky-view.frag +++ b/Shaders/HDR/atmos-sky-view.frag @@ -49,7 +49,7 @@ void main() vec3 rayDir = vec3(cos(elev) * cos(azimuth), cos(elev) * sin(azimuth), sin(elev)); float cameraHeight = length(fg_CameraPositionCart); - float earthRadius = cameraHeight - fg_CameraPositionGeod.z; + float earthRadius = cameraHeight - max(fg_CameraPositionGeod.z, 0.0); vec3 rayOrigin = vec3(0.0, 0.0, cameraHeight);