diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-10-12 04:42:24 +1100 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-10-12 04:42:24 +1100 |
commit | 991cf9df7e4505a6aa43a2a999049f15af3f9a41 (patch) | |
tree | 1c0c6146e41e34190dae87754e6d8115354d0f71 /source/rendering | |
parent | 063317bca87e9c72df27b5077be10307efb443dc (diff) |
Add vertical speed support to parallax layers
Diffstat (limited to 'source/rendering')
-rw-r--r-- | source/rendering/StarEnvironmentPainter.cpp | 8 |
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; |