summaryrefslogtreecommitdiff
path: root/game/environment.cpp
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2024-10-22 01:01:02 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2024-10-22 01:01:02 +0100
commit9edf8711471db08427c5441ed37b6dfe3dd7f3b4 (patch)
tree4356058e9fd85e44c4404c5db8d5d3322a64aa29 /game/environment.cpp
parentBump to CTRE to v3.9.0-1-gacb2f4d to fix compilation with clang 19 (diff)
parentFurther template maths functions (diff)
downloadilt-9edf8711471db08427c5441ed37b6dfe3dd7f3b4.tar.bz2
ilt-9edf8711471db08427c5441ed37b6dfe3dd7f3b4.tar.xz
ilt-9edf8711471db08427c5441ed37b6dfe3dd7f3b4.zip
Merge branch 'billboard-shadows'
Diffstat (limited to 'game/environment.cpp')
-rw-r--r--game/environment.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/game/environment.cpp b/game/environment.cpp
index 19aad84..5aa1f09 100644
--- a/game/environment.cpp
+++ b/game/environment.cpp
@@ -1,4 +1,5 @@
#include "environment.h"
+#include "gfx/lightDirection.h"
#include <chronology.h>
#include <gfx/gl/sceneRenderer.h>
@@ -16,14 +17,12 @@ Environment::render(const SceneRenderer & renderer, const SceneProvider & scene)
constexpr RGB baseAmbient {0.1F}, baseDirectional {0.0F};
constexpr RGB relativeAmbient {0.3F, 0.3F, 0.4F}, relativeDirectional {0.6F, 0.6F, 0.5F};
- const auto sunPos = getSunPos({}, worldTime);
- const auto sunDir = (glm::mat3 {rotate_yp({sunPos.y + pi, sunPos.x})} * north);
- const auto vertical = -std::min(0.F, sunDir.z - 0.1F);
- const auto ambient = baseAmbient + relativeAmbient * vertical;
- const auto directional = baseDirectional + relativeDirectional * vertical;
+ const LightDirection sunPos = getSunPos({}, worldTime);
+ const auto ambient = baseAmbient + relativeAmbient * sunPos.vertical();
+ const auto directional = baseDirectional + relativeDirectional * sunPos.vertical();
renderer.setAmbientLight(ambient);
- renderer.setDirectionalLight(directional, sunDir, scene);
+ renderer.setDirectionalLight(directional, sunPos, scene);
}
// Based on the C++ code published at https://www.psa.es/sdg/sunpos.htm