Ignore:
Timestamp:
11/06/06 20:47:06 (18 years ago)
Author:
bittner
Message:

new visibility filter support

File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/Preprocessing/src/ViewCellsManager.cpp

    r1713 r1715  
    2626 
    2727 
     28#define ABS_CONTRIBUTION_WEIGHT 1.0f 
     29 
    2830// warning: Should not count origin object for sampling because it disturbs heuristics 
    29 #define SAMPLE_ORIGIN_OBJECTS 1  // matt temp 
     31#define SAMPLE_ORIGIN_OBJECTS 0  // matt temp 
    3032 
    3133// $$JB HACK 
     
    666668        bool success = parser.ParseViewCellsFile(filename, &vm, objects, bconverter); 
    667669 
     670        cout<<"viewcells parsed "<<endl<<flush; 
     671         
    668672        if (success) 
    669673        { 
     
    20282032        } 
    20292033 
    2030         return ray.mRelativePvsContribution; 
     2034        return ABS_CONTRIBUTION_WEIGHT*ray.mPvsContribution + 
     2035          (1.0f - ABS_CONTRIBUTION_WEIGHT)*ray.mRelativePvsContribution; 
    20312036} 
    20322037 
     
    24152420        float viewSpaceFilterSize = Magnitude(mViewSpaceBox.Size())*relViewSpaceFilterSize; 
    24162421        float spatialFilterSize = Magnitude(kdTree->GetBox().Size())*relSpatialFilterSize; 
    2417  
     2422         
    24182423        int i; 
    24192424        for (i=0, it = mViewCells.begin(); it != it_end; ++ it, ++ i) { 
    2420                 ApplyFilter(*it, 
    2421                         kdTree, 
    2422                         viewSpaceFilterSize, 
    2423                         spatialFilterSize, 
    2424                         newPvs[i] 
    2425                         ); 
    2426         } 
    2427  
     2425          ApplyFilter(*it, 
     2426                                  kdTree, 
     2427                                  viewSpaceFilterSize, 
     2428                                  spatialFilterSize, 
     2429                                  newPvs[i] 
     2430                                  ); 
     2431        } 
     2432         
    24282433        // now replace all pvss 
    24292434        for (i = 0, it = mViewCells.begin(); it != it_end; ++ it, ++ i) { 
    2430  
    2431                 ObjectPvs &pvs = (*it)->GetPvs(); 
    2432                 pvs.Clear(); 
    2433                 pvs = newPvs[i]; 
    2434                 newPvs[i].Clear(); 
     2435           
     2436          ObjectPvs &pvs = (*it)->GetPvs(); 
     2437          pvs.Clear(); 
     2438          pvs = newPvs[i]; 
     2439          newPvs[i].Clear(); 
    24352440        } 
    24362441 
     
    24892494} 
    24902495 
     2496 
     2497void 
     2498ViewCellsManager::ApplyFilter2(ViewCell *viewCell, 
     2499                                                           KdTree *kdTree, 
     2500                                                           const float filterSize, 
     2501                                                           ObjectPvs &pvs 
     2502                                                           ) 
     2503{ 
     2504  // first determine the average 
     2505 
     2506 
     2507 
     2508} 
     2509   
    24912510 
    24922511void ViewCellsManager::ExportColor(Exporter *exporter,  
     
    56225641        } 
    56235642 
    5624         return ray.mRelativePvsContribution; 
     5643         
     5644 
     5645        return ABS_CONTRIBUTION_WEIGHT*ray.mPvsContribution + 
     5646          (1.0f - ABS_CONTRIBUTION_WEIGHT)*ray.mRelativePvsContribution; 
    56255647} 
    56265648 
Note: See TracChangeset for help on using the changeset viewer.