]> git.mxchange.org Git - simgear.git/commitdiff
Redefine the default PLIB loader behavior : don't clear the texture cache after every...
authorfredb <fredb>
Fri, 28 Apr 2006 18:05:46 +0000 (18:05 +0000)
committerfredb <fredb>
Fri, 28 Apr 2006 18:05:46 +0000 (18:05 +0000)
simgear/scene/model/model.cxx

index 6d42025dbc6da36ef04c39fd7594a8adcf94360c..edb91f27a8e1bae88fc28c3072f612d530b899a2 100644 (file)
@@ -234,6 +234,12 @@ static void makeDList( ssgBranch *b, const set<ssgBranch *> &ignore )
   }
 }
 
+class sgLoaderOptions : public ssgLoaderOptions {
+public:
+  void endLoad() {} // Avoid clearing the texture cache after every model load
+};
+
+static sgLoaderOptions loaderOptions;
 
 \f
 ////////////////////////////////////////////////////////////////////////
@@ -280,7 +286,7 @@ sgLoad3DModel( const string &fg_root, const string &path,
           texturepath = texturepath.dir();
 
     ssgTexturePath((char *)texturepath.c_str());
-    model = (ssgBranch *)ssgLoad((char *)modelpath.c_str());
+    model = (ssgBranch *)ssgLoad((char *)modelpath.c_str(), &loaderOptions);
     if (model == 0)
       throw sg_io_exception("Failed to load 3D model", 
                          sg_location(modelpath.str()));