Changeset 389 for trunk/VUT


Ignore:
Timestamp:
11/08/05 08:28:45 (19 years ago)
Author:
mattausch
Message:

changed bsp castray

Location:
trunk/VUT/GtpVisibilityPreprocessor
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/VUT/GtpVisibilityPreprocessor/scripts/default.env

    r385 r389  
    129129         
    130130        maxPolyCandidates 50 
    131         maxRayCandidates 50 
     131        maxRayCandidates 0 
    132132         
    133133        Termination { 
     
    135135                maxRays 300 
    136136                maxPolygons 0 
    137                 maxDepth 80 
     137                maxDepth 50 
    138138                 
    139139                # axis aligned splits 
     
    151151        } 
    152152         
    153                  
    154         # if split polys are stored for visualization 
    155         storeSplitPolys false 
    156         # x3d visualization of the split planes 
    157         exportSplits true 
     153         
     154        Visualization 
     155        { 
     156                # if split polys are stored for visualization 
     157                storeSplitPolys false 
     158                # x3d visualization of the split planes 
     159                exportSplits true 
     160                # how much samples should be used in visualization 
     161         
     162                samples 2000 
     163        } 
    158164} 
  • trunk/VUT/GtpVisibilityPreprocessor/src/Environment.cpp

    r382 r389  
    12031203          optInt, 
    12041204          "-bsp_postprocessing_samples=", 
    1205           "206000"); 
     1205          "200000"); 
    12061206 
    12071207  RegisterOption("BspTree.Construction.sideTolerance", 
     
    12551255                 "100"); 
    12561256 
    1257   RegisterOption("BspTree.storeSplitPolys", 
    1258                  optBool, 
    1259                  "-bsp_store_split_polys=", 
    1260                  "false"); 
    1261  
    12621257  RegisterOption("BspTree.splitPlaneStrategy", 
    12631258                 optString, 
     
    12791274          "-view_cells_max_viewcells=", 
    12801275          "0"); 
    1281    
    1282   RegisterOption("BspTree.exportSplits", 
     1276 
     1277   
     1278  RegisterOption("Bsptree.Visualization.samples", 
     1279          optInt, 
     1280          "-bsp_visualization_samples=", 
     1281          "20000"); 
     1282 
     1283  RegisterOption("BspTree.Visualization.exportSplits", 
    12831284          optBool, 
    1284           "-bsp_exportSplits", 
     1285          "-bsp_visualization.exportSplits", 
    12851286          "false"); 
     1287 
     1288  RegisterOption("BspTree.Visualization.storePolys", 
     1289                 optBool, 
     1290                 "-bsp_visualization_store_polys=", 
     1291                 "false"); 
    12861292 
    12871293  RegisterOption("Preprocessor.type", 
  • trunk/VUT/GtpVisibilityPreprocessor/src/SamplingPreprocessor.cpp

    r388 r389  
    1515  environment->GetIntValue("BspTree.Construction.samples", mBspConstructionSamples); 
    1616  environment->GetIntValue("ViewCells.PostProcessing.samples", mPostProcessSamples); 
     17  environment->GetIntValue("BspTree.visualizationSamples", mVisualizationSamples); 
     18 
    1719  mKdPvsDepth = 100; 
    1820  mStats.open("stats.log"); 
     
    605607                //-- visualization of the BSP splits 
    606608                bool exportSplits = false; 
    607                 environment->GetBoolValue("BspTree.exportSplits", exportSplits); 
     609                environment->GetBoolValue("BspTree.Visualization.exportSplits", exportSplits); 
    608610                 
    609611                cout << "exporting splits ... "; 
     
    726728        } 
    727729        // save rays for post processing 
    728         else if ((int)mSampleRays.size() < mPostProcessSamples) 
     730        else if ((int)mSampleRays.size() < mPostProcessSamples) || 
     731                        (((int)mSampleRays.size() < mVisualizationSamples)) 
    729732        { 
    730733                mSampleRays.push_back(new Ray(ray)); 
     
    740743        vector<Ray::BspIntersection>::const_iterator iit; 
    741744 
    742         for (rit = rays.begin(); rit != rays.end(); ++ rit) 
     745        int limit = min((int)mSampleRays.size(), mPostProcessSamples); 
     746 
     747        for (int i = 0; i < limit; ++i) 
    743748        {   
     749                Ray *ray = mSamplesRays[i]; 
     750 
    744751                // traverse leaves stored in the rays and compare and merge consecutive 
    745752                // leaves (i.e., the neighbors in the tree) 
    746                 if ((*rit)->bspIntersections.empty()) 
     753                if (ray->bspIntersections.empty()) 
    747754                        continue; 
    748755 
    749                 iit = (*rit)->bspIntersections.begin(); 
     756                iit = ray->bspIntersections.begin(); 
    750757 
    751758                BspLeaf *previousLeaf = (*iit).mLeaf; 
     
    834841 
    835842        //-- some rays for output 
    836         const int raysOut = min((int)mSampleRays.size(), 20000); 
     843        const int raysOut = min((int)mSampleRays.size(), mVisualizationSamples); 
    837844        vector<Ray *> vcRays[leafOut]; 
    838845 
     
    991998                        Debug << i << ": pvs size=" << (int)vc->GetPvs().GetSize() << endl; 
    992999 
     1000                         
     1001                        // export rays piercing this view cell 
     1002                        exporter->ExportRays(vcRays[i], 10000, RgbColor(0, 1, 0)); 
     1003 
    9931004                        m.mDiffuseColor = RgbColor(1, 0, 0); 
    9941005                        exporter->SetForcedMaterial(m); 
  • trunk/VUT/GtpVisibilityPreprocessor/src/ViewCellBsp.cpp

    r385 r389  
    15801580        environment->GetFloatValue("BspTree.AxisAligned.splitBorder", sSplitBorder); 
    15811581         
    1582         environment->GetBoolValue("BspTree.storeSplitPolys", sStoreSplitPolys); 
     1582        environment->GetBoolValue("BspTree.Visualization.storePolys", sStoreSplitPolys); 
    15831583 
    15841584        environment->GetFloatValue("BspTree.Construction.sideTolerance", Vector3::sDistTolerance); 
     
    17351735                                farChild = in->GetBack(); // plane splits ray                    
    17361736                        } 
    1737                         else // ray and plane are coincident // WHAT TO DO IN THIS CASE ? 
     1737                        else // ray and plane are coincident 
     1738                        // WHAT TO DO IN THIS CASE ? 
    17381739                        { 
    1739                                 node = in->GetFront(); 
    1740                                 continue; 
     1740                                break; 
     1741                                //node = in->GetFront(); 
     1742                                //continue; 
    17411743                        } 
    17421744 
Note: See TracChangeset for help on using the changeset viewer.