]> git.mxchange.org Git - flightgear.git/blobdiff - src/Main/main.cxx
Turn back to default lighting when specular-highlight gets disabled
[flightgear.git] / src / Main / main.cxx
index ca7f54998719251a50e1eac6e9366259e84880e3..4332c28cda376b26d4dd27de775634bcf292d68b 100644 (file)
@@ -332,7 +332,12 @@ void trRenderFrame( void ) {
     // explicitely to black.
     glLightModelfv( GL_LIGHT_MODEL_AMBIENT, black );
     glLightModeli( GL_LIGHT_MODEL_LOCAL_VIEWER, GL_FALSE );
-    glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL, GL_SEPARATE_SPECULAR_COLOR);
+
+    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 );
 
@@ -610,7 +615,13 @@ void fgRenderFrame() {
         // a completely dark scene.  So, we set GL_LIGHT_MODEL_AMBIENT
         // explicitely to black.
         glLightModelfv( GL_LIGHT_MODEL_AMBIENT, black );
-        glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL, GL_SEPARATE_SPECULAR_COLOR);
+        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 );