]> git.mxchange.org Git - flightgear.git/commitdiff
Enable two sided lighting calculations when specular highlight is enabled
authorehofman <ehofman>
Sat, 13 Sep 2003 09:27:50 +0000 (09:27 +0000)
committerehofman <ehofman>
Sat, 13 Sep 2003 09:27:50 +0000 (09:27 +0000)
src/Main/main.cxx

index 4332c28cda376b26d4dd27de775634bcf292d68b..947f495a02855e300ccad9267d8d0058660a469c 100644 (file)
@@ -333,12 +333,6 @@ void trRenderFrame( void ) {
     glLightModelfv( GL_LIGHT_MODEL_AMBIENT, black );
     glLightModeli( GL_LIGHT_MODEL_LOCAL_VIEWER, GL_FALSE );
 
-    if (fgGetBool("/sim/rendering/specular-highlight")) {
-        glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL, GL_SEPARATE_SPECULAR_COLOR);
-    } else {
-        glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL, GL_SINGLE_COLOR);
-    }
-
     ssgGetLight( 0 ) -> setColour( GL_AMBIENT, l->scene_ambient );
 
     // texture parameters
@@ -615,13 +609,6 @@ void fgRenderFrame() {
         // a completely dark scene.  So, we set GL_LIGHT_MODEL_AMBIENT
         // explicitely to black.
         glLightModelfv( GL_LIGHT_MODEL_AMBIENT, black );
-        if (fgGetBool("/sim/rendering/specular-highlight")) {
-            glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL,
-                          GL_SEPARATE_SPECULAR_COLOR);
-        } else {
-            glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL,
-                         GL_SINGLE_COLOR);
-        }
 
         ssgGetLight( 0 ) -> setColour( GL_AMBIENT, l->scene_ambient );
         ssgGetLight( 0 ) -> setColour( GL_DIFFUSE, l->scene_diffuse );
@@ -1302,6 +1289,13 @@ static void fgMainLoop( void ) {
 
     // END Tile Manager udpates
 
+    if (fgGetBool("/sim/rendering/specular-highlight")) {
+        glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL, GL_SEPARATE_SPECULAR_COLOR);        glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE);
+    } else {
+        glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL, GL_SINGLE_COLOR);
+         glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, GL_FALSE);
+    }
+
     // redraw display
     fgRenderFrame();