glTranslated(x_offset, y_offset, 0);
- glDepthMask(GL_FALSE);
draw();
- glDepthMask(GL_TRUE);
glMatrixMode(GL_PROJECTION);
glPopMatrix();
// 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);
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;
// 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();
}
for (int i = 0; i < (int)_layers.size(); i++) {
glPushMatrix();
- glPolygonOffset(-1, -POFF_UNITS*(i+2));
_layers[i]->draw();
glPopMatrix();
}
// 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;