X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FTime%2Flight.cxx;h=fa5617d37e21b7094b1334643dffd11d168855e5;hb=ecccc910645d6e8c131de86da28ec5d3d82ac190;hp=5d3c45852c9347e8687a438b69b23917ec8ccfd8;hpb=61c8cefcf298676613ba93f96491f66c7557e890;p=flightgear.git diff --git a/src/Time/light.cxx b/src/Time/light.cxx index 5d3c45852..fa5617d37 100644 --- a/src/Time/light.cxx +++ b/src/Time/light.cxx @@ -31,31 +31,32 @@ #endif #include -#include +#include #include -#ifdef FG_MATH_EXCEPTION_CLASH +#ifdef SG_MATH_EXCEPTION_CLASH # define exception c_exception #endif -#ifdef FG_HAVE_STD_INCLUDES +#ifdef SG_HAVE_STD_INCLUDES # include #else # include #endif #include -FG_USING_STD(string); +SG_USING_STD(string); #include #include #include #include -#include +#include #include #include
+#include
#include "light.hxx" #include "sunpos.hxx" @@ -71,16 +72,16 @@ fgLIGHT::fgLIGHT( void ) { // initialize lighting tables void fgLIGHT::Init( void ) { - FG_LOG( FG_EVENT, FG_INFO, + SG_LOG( SG_EVENT, SG_INFO, "Initializing Lighting interpolation tables." ); // build the path name to the ambient lookup table - FGPath path( globals->get_fg_root() ); - FGPath ambient = path; + SGPath path( globals->get_fg_root() ); + SGPath ambient = path; ambient.append( "Lighting/ambient" ); - FGPath diffuse = path; + SGPath diffuse = path; diffuse.append( "Lighting/diffuse" ); - FGPath sky = path; + SGPath sky = path; sky.append( "Lighting/sky" ); // initialize ambient table @@ -107,19 +108,19 @@ void fgLIGHT::Update( void ) { f = current_aircraft.fdm_state; - FG_LOG( FG_EVENT, FG_INFO, "Updating light parameters." ); + SG_LOG( SG_EVENT, SG_INFO, "Updating light parameters." ); // calculate lighting parameters based on sun's relative angle to // local up - deg = sun_angle * RAD_TO_DEG; - FG_LOG( FG_EVENT, FG_INFO, " Sun angle = " << deg ); + deg = sun_angle * SGD_RADIANS_TO_DEGREES; + SG_LOG( SG_EVENT, SG_INFO, " Sun angle = " << deg ); ambient = ambient_tbl->interpolate( deg ); diffuse = diffuse_tbl->interpolate( deg ); sky_brightness = sky_tbl->interpolate( deg ); - FG_LOG( FG_EVENT, FG_INFO, + SG_LOG( SG_EVENT, SG_INFO, " ambient = " << ambient << " diffuse = " << diffuse << " sky = " << sky_brightness ); @@ -160,30 +161,46 @@ void fgLIGHT::UpdateAdjFog( void ) { f = current_aircraft.fdm_state; - FG_LOG( FG_EVENT, FG_DEBUG, "Updating adjusted fog parameters." ); + SG_LOG( SG_EVENT, SG_DEBUG, "Updating adjusted fog parameters." ); // set fog color (we'll try to match the sunset color in the // direction we are looking + // Do some sanity checking ... + if ( sun_rotation < -2.0 * SGD_2PI || sun_rotation > 2.0 * SGD_2PI ) { + SG_LOG( SG_EVENT, SG_ALERT, "Sun rotation bad = " << sun_rotation ); + exit(-1); + } + if ( f->get_Psi() < -2.0 * SGD_2PI || f->get_Psi() > 2.0 * SGD_2PI ) { + SG_LOG( SG_EVENT, SG_ALERT, "Psi rotation bad = " << f->get_Psi() ); + exit(-1); + } + if ( globals->get_current_view()->get_view_offset() < -2.0 * SGD_2PI || + globals->get_current_view()->get_view_offset() > 2.0 * SGD_2PI ) { + SG_LOG( SG_EVENT, SG_ALERT, "current view()->view offset bad = " + << globals->get_current_view()->get_view_offset() ); + exit(-1); + } + // first determine the difference between our view angle and local // direction to the sun - rotation = -(sun_rotation + FG_PI) + rotation = -(sun_rotation + SGD_PI) - (f->get_Psi() - globals->get_current_view()->get_view_offset()); if ( globals->get_current_view()->get_reverse_view_offset() ) { - rotation += FG_PI; + rotation += SGD_PI; } while ( rotation < 0 ) { - rotation += FG_2PI; + rotation += SGD_2PI; } - while ( rotation > FG_2PI ) { - rotation -= FG_2PI; + while ( rotation > SGD_2PI ) { + rotation -= SGD_2PI; } - rotation *= RAD_TO_DEG; - // fgPrintf( FG_EVENT, FG_INFO, + rotation *= SGD_RADIANS_TO_DEGREES; + // fgPrintf( SG_EVENT, SG_INFO, // " View to sun difference in degrees = %.2f\n", rotation); // next check if we are in a sunset/sunrise situation - sun_angle_deg = sun_angle * RAD_TO_DEG; + sun_angle_deg = sun_angle * SGD_RADIANS_TO_DEGREES; if ( (sun_angle_deg > 80.0) && (sun_angle_deg < 100.0) ) { /* 0.0 - 0.6 */ param1[0] = (10.0 - fabs(90.0 - sun_angle_deg)) / 20.0;