From 695e112039bc38916f8bdc439f033eeddfe10946 Mon Sep 17 00:00:00 2001 From: ehofman Date: Tue, 23 Sep 2003 08:42:20 +0000 Subject: [PATCH] Fix a problem where the upper cloud layers are drawn with the sun punch through value --- simgear/scene/sky/sky.cxx | 8 +++++++- simgear/scene/sky/sky.hxx | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/simgear/scene/sky/sky.cxx b/simgear/scene/sky/sky.cxx index 990d50bc..059bdf46 100644 --- a/simgear/scene/sky/sky.cxx +++ b/simgear/scene/sky/sky.cxx @@ -171,9 +171,15 @@ bool SGSky::reposition( SGSkyState &st, double dt ) // draw background portions of the sky ... do this before you draw the // rest of your scene. -void SGSky::preDraw( float alt ) { +void SGSky::preDraw( float alt, float fog_exp2_density ) { ssgCullAndDraw( pre_root ); + // FIXME: This should not be needed, but at this time (08/15/2003) + // certain NVidia drivers don't seem to implement + // fgPushAttrib(FG_FOG_BIT) properly. The result is that + // there is not fog when looking at the sun. + glFogf ( GL_FOG_DENSITY, fog_exp2_density ); + // if we are closer than this to a cloud layer, don't draw clouds static const float slop = 5.0; int i; diff --git a/simgear/scene/sky/sky.hxx b/simgear/scene/sky/sky.hxx index 26fc7545..67e3b483 100644 --- a/simgear/scene/sky/sky.hxx +++ b/simgear/scene/sky/sky.hxx @@ -329,7 +329,7 @@ public: * class description. * @param alt current altitude */ - void preDraw( float alt ); + void preDraw( float alt, float fog_exp2_density ); /** * Draw translucent clouds ... do this after you've drawn all the -- 2.39.5