1
0
Fork 0

Try to prevent z-buffer problems for video cards with a 16-bit depth buffer

This commit is contained in:
ehofman 2003-09-16 14:31:14 +00:00
parent 44fda9805b
commit 174852f01e

View file

@ -379,6 +379,7 @@ FGPanel::draw()
glEnable(GL_COLOR_MATERIAL); glEnable(GL_COLOR_MATERIAL);
glEnable(GL_CULL_FACE); glEnable(GL_CULL_FACE);
glCullFace(GL_BACK); glCullFace(GL_BACK);
glDepthMask(GL_FALSE);
sgVec4 panel_color; sgVec4 panel_color;
sgCopyVec4( panel_color, cur_light_params.scene_diffuse ); sgCopyVec4( panel_color, cur_light_params.scene_diffuse );
if ( fgGetDouble("/systems/electrical/outputs/instrument-lights") > 1.0 ) { if ( fgGetDouble("/systems/electrical/outputs/instrument-lights") > 1.0 ) {
@ -428,7 +429,7 @@ FGPanel::draw()
// Don't let the instruments be visible trhought the roof of the c310-3d // Don't let the instruments be visible trhought the roof of the c310-3d
// This does hurt the magnetic compass in the default c172-3d, // This does hurt the magnetic compass in the default c172-3d,
// but we need a real 3d compass anyway. // but we need a real 3d compass anyway.
glDepthMask(GL_FALSE); glPolygonOffset(-1, -5*POFF_UNITS);
for ( ; current != end; current++) { for ( ; current != end; current++) {
FGPanelInstrument * instr = *current; FGPanelInstrument * instr = *current;
glPushMatrix(); glPushMatrix();
@ -783,7 +784,7 @@ FGLayeredInstrument::draw ()
for (int i = 0; i < (int)_layers.size(); i++) { for (int i = 0; i < (int)_layers.size(); i++) {
glPushMatrix(); glPushMatrix();
glPolygonOffset(-1, -POFF_UNITS*(i+2)); // glPolygonOffset(-1, -POFF_UNITS*(i+2));
_layers[i]->draw(); _layers[i]->draw();
glPopMatrix(); glPopMatrix();
} }