Ignore:
Timestamp:
01/19/06 15:30:44 (18 years ago)
Author:
bittner
Message:

debug version looking for glrenderer bug...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/VUT/GtpVisibilityPreprocessor/src/RssTree.cpp

    r551 r556  
    10301030  //  if ( (int)(leaf->rays.size()) < termMinCost) 
    10311031  //    stat.minCostNodes++; 
    1032   if ( leaf->GetPvsSize() < termMinPvs) 
     1032  if ( leaf->GetPvsSize() <= termMinPvs) 
    10331033        stat.minPvsNodes++; 
    10341034 
    1035   if ( leaf->GetPvsSize() < termMinRays) 
     1035  if ( leaf->GetPvsSize() <= termMinRays) 
    10361036        stat.minRaysNodes++; 
    10371037 
     
    10511051RssTree::TerminationCriteriaSatisfied(RssTreeLeaf *leaf) 
    10521052{ 
    1053   return ( (leaf->GetPvsSize() < termMinPvs) || 
    1054                    (leaf->rays.size() < termMinRays) || 
     1053  return ( (leaf->GetPvsSize() <= termMinPvs) || 
     1054                   (leaf->rays.size() <= termMinRays) || 
    10551055                   //                    (leaf->GetAvgRayContribution() > termMaxRayContribution ) || 
    10561056                   (leaf->depth >= termMaxDepth) || 
     
    20812081          ri++) { 
    20822082        Intersectable *object = (*ri).GetObject(); 
    2083         if (object && !object->Mailed()) { 
    2084           object->Mail(); 
    2085           pvs.push_back(object); 
    2086           if (exporter) 
    2087                 exporter->ExportIntersectable(object); 
    2088         } 
    2089   } 
    2090  
     2083        if (object) { 
     2084          if (!object->Mailed()) { 
     2085                object->Mail(); 
     2086                object->mCounter = 1; 
     2087                pvs.push_back(object); 
     2088                if (exporter) 
     2089                  exporter->ExportIntersectable(object); 
     2090          } else { 
     2091                object->mCounter++; 
     2092          } 
     2093        } 
     2094  } 
     2095  // sort objects based on their mCounter 
     2096  sort(pvs.begin(), pvs.end(), Intersectable::GreaterCounter); 
     2097   
    20912098  float extendedConvexCombinationProb = 0.0f; //0.7f 
    2092   float silhouetteCheckPercentage = 0.0f; //0.5f 
     2099  float silhouetteCheckPercentage = 0.5f; //0.5f 
    20932100  for (int i=0; generated < numberOfRays && i < numberOfTries; i++) { 
    20942101        bool useExtendedConvexCombination = ((nrays >= 2) && (Random(1.0f) < 
     
    21792186                  oi++) { 
    21802187                Intersectable *object = *oi; 
    2181                  
    21822188                if ( object->CastRay(traversalRay) ) { 
    21832189                  intersects = true; 
     
    21972203   
    21982204  //  cout<<"desired="<<numberOfRays<<" tries="<<i<<endl; 
    2199   // assign probabilitites to the generated rays 
    2200   float p = (box.GetVolume()*dirBox.GetVolume())/generated; 
     2205  // assign pdfs to the generated rays 
     2206  float p = (box.GetVolume()*dirBox.GetVolume())/i; 
    22012207  for (i=startIndex; i < rays.size(); i++) { 
    2202         rays[i].mProbability = p; 
    2203         rays.mSumProbabilities += p; 
     2208        rays[i].mPdf = p; 
     2209        rays.mSumPdf += p; 
    22042210  } 
    22052211   
Note: See TracChangeset for help on using the changeset viewer.