]> git.mxchange.org Git - flightgear.git/blobdiff - src/Cockpit/panel.cxx
Multiplayer client/server system -- MessageBuf class and test harness complete
[flightgear.git] / src / Cockpit / panel.cxx
index d593223181b9eac8e1227b511b1ae999b58f3bc6..822c2ba26102f2795cf7a4a3bb24e544a6df6dd3 100644 (file)
@@ -368,7 +368,8 @@ FGPanel::draw()
 
   // save some state
   glPushAttrib( GL_COLOR_BUFFER_BIT | GL_ENABLE_BIT | GL_LIGHTING_BIT
-                | GL_TEXTURE_BIT | GL_PIXEL_MODE_BIT );
+                | GL_TEXTURE_BIT | GL_PIXEL_MODE_BIT | GL_CULL_FACE 
+                | GL_DEPTH_BUFFER_BIT );
 
   // Draw the background
   glEnable(GL_TEXTURE_2D);
@@ -376,8 +377,13 @@ FGPanel::draw()
   glEnable(GL_BLEND);
   glEnable(GL_ALPHA_TEST);
   glEnable(GL_COLOR_MATERIAL);
+  glEnable(GL_CULL_FACE);
+  glCullFace(GL_BACK);
+  glDisable(GL_DEPTH_TEST);
   sgVec4 panel_color;
-  sgCopyVec4( panel_color, cur_light_params.scene_diffuse );
+
+  FGLight *l = (FGLight *)(globals->get_subsystem("lighting"));
+  sgCopyVec4( panel_color, l->scene_diffuse());
   if ( fgGetDouble("/systems/electrical/outputs/instrument-lights") > 1.0 ) {
       if ( panel_color[0] < 0.7 ) panel_color[0] = 0.7;
       if ( panel_color[1] < 0.2 ) panel_color[1] = 0.2;
@@ -433,15 +439,11 @@ FGPanel::draw()
   // Draw yellow "hotspots" if directed to.  This is a panel authoring
   // feature; not intended to be high performance or to look good.
   if ( fgGetBool("/sim/panel-hotspots") ) {
-    glPushAttrib(GL_ALL_ATTRIB_BITS);
-    glDisable(GL_DEPTH_TEST);
     glDisable(GL_TEXTURE_2D);
     glColor3f(1, 1, 0);
     
     for ( unsigned int i = 0; i < _instruments.size(); i++ )
       _instruments[i]->drawHotspots();
-
-    glPopAttrib();
   }
 
 
@@ -776,7 +778,6 @@ FGLayeredInstrument::draw ()
   
   for (int i = 0; i < (int)_layers.size(); i++) {
     glPushMatrix();
-    glPolygonOffset(-1, -POFF_UNITS*(i+2));
     _layers[i]->draw();
     glPopMatrix();
   }
@@ -944,7 +945,9 @@ FGTexturedLayer::draw ()
                                // From Curt: turn on the panel
                                // lights after sundown.
     sgVec4 panel_color;
-    sgCopyVec4( panel_color, cur_light_params.scene_diffuse );
+
+    FGLight *l = (FGLight *)(globals->get_subsystem("lighting"));
+    sgCopyVec4( panel_color, l->scene_diffuse());
     if ( fgGetDouble("/systems/electrical/outputs/instrument-lights") > 1.0 ) {
         if ( panel_color[0] < 0.7 ) panel_color[0] = 0.7;
         if ( panel_color[1] < 0.2 ) panel_color[1] = 0.2;