#include <osg/CullFace>
#include <osg/Depth>
#include <osg/Material>
+#include <osg/Matrixf>
#include <osg/TexEnv>
#include <osg/PolygonOffset>
#include <Main/fg_props.hxx>
#include <Main/viewmgr.hxx>
#include <Time/light.hxx>
-#include <GUI/new_gui.hxx> // FGFontCache
+#include <GUI/FGFontCache.hxx>
#include <Main/viewer.hxx>
#include <Instrumentation/dclgps.hxx>
-#include "hud.hxx"
-
-
#define WIN_X 0
#define WIN_Y 0
#define WIN_W 1024
// my hardware/driver requires many more.
#define POFF_UNITS 8
+using std::map;
+
////////////////////////////////////////////////////////////////////////
// Local functions.
////////////////////////////////////////////////////////////////////////
{
osg::Texture2D* texture = _textureMap[relativePath].get();
if (texture == 0) {
- SG_LOG( SG_COCKPIT, SG_DEBUG,
- "Texture " << relativePath << " does not yet exist" );
- SGPath tpath(globals->get_fg_root());
- tpath.append(relativePath);
-
+ SGPath tpath = globals->resolve_aircraft_path(relativePath);
texture = SGLoadTexture2D(staticTexture, tpath);
_textureMap[relativePath] = texture;
void
FGPanel::update (osg::State& state, GLfloat winx, GLfloat winw, GLfloat winy, GLfloat winh)
{
+ using namespace osg;
// Calculate accelerations
// and jiggle the panel accordingly
// The factors and bounds are just
glMatrixMode(GL_PROJECTION);
glPushMatrix();
- glLoadIdentity();
+ Matrixf proj;
if ( _flipx->getBoolValue() ) {
- gluOrtho2D(winx + winw, winx, winy + winh, winy); /* up side down */
+ proj = Matrixf::ortho2D(winx + winw, winx, winy + winh, winy); /* up side down */
} else {
- gluOrtho2D(winx, winx + winw, winy, winy + winh); /* right side up */
+ proj = Matrixf::ortho2D(winx, winx + winw, winy, winy + winh); /* right side up */
}
+ glLoadMatrix(proj.ptr());
glMatrixMode(GL_MODELVIEW);
glPushMatrix();