Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/rendering/StarEnvironmentPainter.cpp
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2023-10-12 04:42:24 +1100
committerKae <80987908+Novaenia@users.noreply.github.com>2023-10-12 04:42:24 +1100
commit991cf9df7e4505a6aa43a2a999049f15af3f9a41 (patch)
tree1c0c6146e41e34190dae87754e6d8115354d0f71 /source/rendering/StarEnvironmentPainter.cpp
parent063317bca87e9c72df27b5077be10307efb443dc (diff)
Add vertical speed support to parallax layers
Diffstat (limited to 'source/rendering/StarEnvironmentPainter.cpp')
-rw-r--r--source/rendering/StarEnvironmentPainter.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/source/rendering/StarEnvironmentPainter.cpp b/source/rendering/StarEnvironmentPainter.cpp
index ff6cb35..c938ae0 100644
--- a/source/rendering/StarEnvironmentPainter.cpp
+++ b/source/rendering/StarEnvironmentPainter.cpp
@@ -256,10 +256,14 @@ void EnvironmentPainter::renderParallaxLayers(
// texture offset in *screen pixel space*
Vec2F parallaxOffset = layer.parallaxOffset * camera.pixelRatio();
- if (layer.speed != 0) {
- double drift = fmod((double)layer.speed * (sky.epochTime / (double)sky.dayLength), (double)parallaxSize[0]);
+ if (layer.speed[0] != 0) {
+ double drift = fmod((double)layer.speed[0] * (sky.epochTime / (double)sky.dayLength), (double)parallaxSize[0]);
parallaxOffset[0] = fmod(parallaxOffset[0] + drift * camera.pixelRatio(), parallaxPixels[0]);
}
+ if (layer.speed[1] != 0) {
+ double drift = fmod((double)layer.speed[1] * (sky.epochTime / (double)sky.dayLength), (double)parallaxSize[1]);
+ parallaxOffset[1] = fmod(parallaxOffset[1] + drift * camera.pixelRatio(), parallaxPixels[1]);
+ }
// parallax camera world position in *parallax space*
Vec2F parallaxCameraCenter = parallaxWorldPosition - parallaxOrigin;