]> git.mxchange.org Git - flightgear.git/commitdiff
Incremental additions to material.cxx (not fully functional)
authorcurt <curt>
Mon, 1 Jun 1998 17:56:20 +0000 (17:56 +0000)
committercurt <curt>
Mon, 1 Jun 1998 17:56:20 +0000 (17:56 +0000)
Tweaked vfc_ratio math to avoid divide by zero.

Scenery/material.cxx
Scenery/material.hxx
Scenery/tilemgr.cxx

index 2766b9e322ebd9647118c8abba69216e167b76a6..ff105035d7c1c1dee8e4385983c9c95e29ed4bb8 100644 (file)
 #include <GL/glut.h>
 #include <XGL/xgl.h>
 
+#include <Debug/fg_debug.h>
+#include <Include/fg_zlib.h>
+#include <Main/options.hxx>
+
 #include "material.hxx"
 
 
 // Constructor
-fgMATERIAL::fgMATERIAL ( void );
+fgMATERIAL::fgMATERIAL ( void ) {
+}
 
 
 // Sorting routines
@@ -48,10 +53,55 @@ int fgMATERIAL::append_sort_list( fgFRAGMENT *object );
 
 
 // Destructor
-fgMATERIAL::~fgMATERIAL ( void );
+fgMATERIAL::~fgMATERIAL ( void ) {
+}
+
+
+// Constructor
+fgMATERIAL_MGR::fgMATERIAL_MGR ( void ) {
+}
+
+
+// Load a library of material properties
+int fgMATERIAL_MGR::load_lib ( void ) {
+    fgOPTIONS *o;
+    char path[256], fgpath[256];
+    fgFile f;
+
+    o = &current_options;
+
+    // build the path name to the material db
+    path[0] = '\0';
+    strcat(path, o->fg_root);
+    strcat(path, "/Scenery/");
+    strcat(path, "Materials");
+    strcpy(fgpath, path);
+    strcat(fgpath, ".gz");
+
+    // first try "path.gz"
+    if ( (f = fgopen(fgpath, "rb")) == NULL ) {
+        // next try "path"    
+        if ( (f = fgopen(path, "rb")) == NULL ) {
+            fgPrintf(FG_GENERAL, FG_EXIT, "Cannot open file: %s\n", path);
+        }       
+    }
+
+    fgclose(f);
+
+    return(1);
+}
+
+
+// Destructor
+fgMATERIAL_MGR::~fgMATERIAL_MGR ( void ) {
+}
 
 
 // $Log$
+// Revision 1.2  1998/06/01 17:56:20  curt
+// Incremental additions to material.cxx (not fully functional)
+// Tweaked vfc_ratio math to avoid divide by zero.
+//
 // Revision 1.1  1998/05/30 01:56:45  curt
 // Added material.cxx material.hxx
 //
index dcd7433f9a3e44497b4778e21298779340e2375e..e02a8d026fe53bf182ad6a10e0034af3e7c99625 100644 (file)
@@ -95,7 +95,7 @@ public:
     fgMATERIAL_MGR ( void );
 
     // Load a library of material properties
-    int load_lib ( char *file );
+    int load_lib ( void );
 
     // Destructor
     ~fgMATERIAL_MGR ( void );
@@ -106,6 +106,10 @@ public:
 
 
 // $Log$
+// Revision 1.2  1998/06/01 17:56:20  curt
+// Incremental additions to material.cxx (not fully functional)
+// Tweaked vfc_ratio math to avoid divide by zero.
+//
 // Revision 1.1  1998/05/30 01:56:45  curt
 // Added material.cxx material.hxx
 //
index 7993a9e8d85ce2ed3f5688da5eefb43356a1e273..ca0695957fd9f54b73fa7627936dfa64cd2f9f9f 100644 (file)
@@ -367,13 +367,21 @@ void fgTileMgrRender( void ) {
        }
     }
 
-    v->vfc_ratio = (double)culled / (double)(drawn + culled);
+    if ( (drawn + culled) > 0 ) {
+       v->vfc_ratio = (double)culled / (double)(drawn + culled);
+    } else {
+       v->vfc_ratio = 0.0;
+    }
     // printf("drawn = %d  culled = %d  saved = %.2f\n", drawn, culled, 
     //        v->vfc_ratio);
 }
 
 
 // $Log$
+// Revision 1.14  1998/06/01 17:56:20  curt
+// Incremental additions to material.cxx (not fully functional)
+// Tweaked vfc_ratio math to avoid divide by zero.
+//
 // Revision 1.13  1998/05/24 02:49:10  curt
 // Implimented fragment level view frustum culling.
 //