1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-08-16 18:01:40 +00:00

Use Sky class to obtain directional light source position for shadows (#12662)

* Also remove unused Sky::getSkyBodyOrbitTilt method

Fixes misalignment of sun position and shadow direction at high tilt values.
This commit is contained in:
x2048 2022-08-17 16:30:05 +02:00 committed by GitHub
parent 3f67215df9
commit 8c29c4f620
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 25 additions and 11 deletions

View file

@ -71,12 +71,14 @@ public:
void setSunScale(f32 sun_scale) { m_sun_params.scale = sun_scale; }
void setSunriseVisible(bool glow_visible) { m_sun_params.sunrise_visible = glow_visible; }
void setSunriseTexture(const std::string &sunglow_texture, ITextureSource* tsrc);
v3f getSunDirection();
void setMoonVisible(bool moon_visible) { m_moon_params.visible = moon_visible; }
bool getMoonVisible() const { return m_moon_params.visible; }
void setMoonTexture(const std::string &moon_texture,
const std::string &moon_tonemap, ITextureSource *tsrc);
void setMoonScale(f32 moon_scale) { m_moon_params.scale = moon_scale; }
v3f getMoonDirection();
void setStarsVisible(bool stars_visible) { m_star_params.visible = stars_visible; }
void setStarCount(u16 star_count);
@ -108,8 +110,6 @@ public:
ITextureSource *tsrc);
const video::SColorf &getCurrentStarColor() const { return m_star_color; }
float getSkyBodyOrbitTilt() const { return m_sky_body_orbit_tilt; }
private:
aabb3f m_box;
video::SMaterial m_materials[SKY_MATERIAL_COUNT];