]> git.mxchange.org Git - flightgear.git/commitdiff
Make sure the functions won't be called if the extension is not supported. This also...
authorehofman <ehofman>
Sun, 29 Jun 2003 17:14:13 +0000 (17:14 +0000)
committerehofman <ehofman>
Sun, 29 Jun 2003 17:14:13 +0000 (17:14 +0000)
src/Main/main.cxx

index da0eac699938883e44087916f337506c3136a438..f0ae06daae0c74a208ac976105a90a07aedaea14 100644 (file)
@@ -145,6 +145,7 @@ SG_USING_STD(endl);
 
 glPointParameterfProc glPointParameterfPtr = 0;
 glPointParameterfvProc glPointParameterfvPtr = 0;
+bool glPointParameterIsSupported = false;
 
 float default_attenuation[3] = {1.0, 0.0, 0.0};
 //Required for using GL_extensions
@@ -768,8 +769,7 @@ void fgRenderFrame() {
             glEnable(GL_POINT_SMOOTH);
 
             if ( fgGetBool("/sim/rendering/distance-attenuation") &&
-                 ( SGIsOpenGLExtensionSupported("GL_EXT_point_parameters") ||
-                   SGIsOpenGLExtensionSupported("GL_ARB_point_parameters") ) )
+                 glPointParameterIsSupported )
             {
                 // Enable states for drawing points with GL_extension
                 glEnable(GL_POINT_SMOOTH);
@@ -823,8 +823,7 @@ void fgRenderFrame() {
 
         if (fgGetBool("/sim/rendering/enhanced-lighting")) {
             if ( fgGetBool("/sim/rendering/distance-attenuation") &&
-                 ( SGIsOpenGLExtensionSupported("GL_EXT_point_parameters") ||
-                   SGIsOpenGLExtensionSupported("GL_ARB_point_parameters") ) )
+                 glPointParameterIsSupported )
             {
                 glPointParameterfvPtr(GL_DISTANCE_ATTENUATION_EXT,
                                       default_attenuation);
@@ -1657,17 +1656,20 @@ static bool fgMainInit( int argc, char **argv ) {
     if ( fgGetBool("/sim/rendering/distance-attenuation") )
     {
         if (SGIsOpenGLExtensionSupported("GL_EXT_point_parameters") ) {
+            glPointParameterIsSupported = true;
             glPointParameterfPtr = (glPointParameterfProc)
                                    SGLookupFunction("glPointParameterfEXT");
             glPointParameterfvPtr = (glPointParameterfvProc)
                                     SGLookupFunction("glPointParameterfvEXT");
 
         } else if ( SGIsOpenGLExtensionSupported("GL_ARB_point_parameters") ) {
+            glPointParameterIsSupported = true;
             glPointParameterfPtr = (glPointParameterfProc)
                                    SGLookupFunction("glPointParameterfARB");
             glPointParameterfvPtr = (glPointParameterfvProc)
                                     SGLookupFunction("glPointParameterfvARB");
-        } 
+        } else
+            glPointParameterIsSupported = false;
    }
 
     // based on the requested presets, calculate the true starting