#endif
#include <GL/glut.h>
-#include <simgear/xgl/xgl.h>
+#include <GL/gl.h>
#include <simgear/compiler.h>
#include <simgear/debug/logstream.hxx>
#include <simgear/math/interpolater.hxx>
#include <simgear/math/polar3d.hxx>
-#include <simgear/misc/fgpath.hxx>
+#include <simgear/misc/sg_path.hxx>
#include <Aircraft/aircraft.hxx>
#include <Main/globals.hxx>
+#include <Main/viewer.hxx>
#include "light.hxx"
#include "sunpos.hxx"
"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
// 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 + SGD_PI)