X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flighting.cpp;h=ea59a1420945efefcc6c760d28cd9bc13c10a713;hb=0c1e15e36a46bada35b905b2bdd35f6f48ce7cb0;hp=ce522ac06a11e77151a5c7fbe0967347674f2aa3;hpb=b5887904192309b37cf0607c546dce2c85fadfa8;p=libs%2Fgl.git diff --git a/source/lighting.cpp b/source/lighting.cpp index ce522ac0..ea59a142 100644 --- a/source/lighting.cpp +++ b/source/lighting.cpp @@ -15,7 +15,7 @@ namespace GL { Lighting::Lighting(): ambient(0.2), - sky_direction(0, 0, 1), + zenith_direction(0, 0, 1), horizon_angle(Geometry::Angle::zero()), fog_color(0.0f, 0.0f, 0.0f, 0.0f), fog_density(0.0f) @@ -31,9 +31,9 @@ void Lighting::set_sky_color(const Color &s) sky_color = s; } -void Lighting::set_sky_direction(const Vector3 &d) +void Lighting::set_zenith_direction(const Vector3 &d) { - sky_direction = d; + zenith_direction = d; } void Lighting::set_horizon_angle(const Geometry::Angle &a) @@ -88,11 +88,14 @@ void Lighting::update_shader_data(ProgramData &shdata, const Matrix &view_matrix { shdata.uniform("ambient_color", ambient); shdata.uniform("sky_color", sky_color); - shdata.uniform("eye_sky_dir", view_matrix.block<3, 3>(0, 0)*sky_direction); + shdata.uniform("eye_zenith_dir", view_matrix.block<3, 3>(0, 0)*zenith_direction); shdata.uniform("horizon_limit", horizon_angle.radians()); shdata.uniform("fog_color", fog_color); shdata.uniform("fog_density", fog_density); + // For backwards compatibility + shdata.uniform("eye_sky_dir", view_matrix.block<3, 3>(0, 0)*zenith_direction); + for(unsigned i=0; iupdate_shader_data(shdata, view_matrix, i);