]> git.mxchange.org Git - simgear.git/commitdiff
Fix a problem where the upper cloud layers are drawn with the sun punch through value
authorehofman <ehofman>
Tue, 23 Sep 2003 08:42:20 +0000 (08:42 +0000)
committerehofman <ehofman>
Tue, 23 Sep 2003 08:42:20 +0000 (08:42 +0000)
simgear/scene/sky/sky.cxx
simgear/scene/sky/sky.hxx

index 990d50bc3cbf86d5755098b9a0400f15f40adde1..059bdf469705890aa09fb5662435ddedd8383d73 100644 (file)
@@ -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;
index 26fc7545dc130d5ff3ee813f68abaa453b9f3fa2..67e3b4835e04319c4930cea69e86d7f498dd9495 100644 (file)
@@ -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