Ignore:
Timestamp:
12/20/06 00:26:02 (17 years ago)
Author:
mattausch
Message:
 
File:
1 edited

Legend:

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

    r1911 r1912  
    156156                "Hierarchy.Construction.maxAvgRayContri", mMaxAvgRayContri); 
    157157 
     158        Environment::GetSingleton()->GetFloatValue( 
     159                "Hierarchy.Construction.minAvgRayContri", mMinAvgRayContri); 
     160 
    158161        // for comparing it with byte - value 
    159162        mTermMaxMemory *= (1024.0f * 1024.0f); 
     
    734737 
    735738 
    736 float HierarchyManager::EvalPvsCorrectionFactor(const float childPvs,  
    737                                                                                                 const float totalPvs,  
    738                                                                                                 const float avgRayContri) const 
    739 { 
    740         if (!childPvs || 
    741                 // assume pvs sampled sufficiently => take child pvs 
    742                 (avgRayContri < mMinAvgRayContri)) 
    743                 return 1.0f; 
     739float HierarchyManager::EvalCorrectedPvs(const float childPvs,  
     740                                                                                 const float totalPvs,  
     741                                                                                 const float avgRayContri) const 
     742{ 
     743        // assume pvs sampled sufficiently => take child pvs 
     744        if (avgRayContri < mMinAvgRayContri) 
     745                return childPvs; 
    744746 
    745747        // assume pvs not sampled sufficiently => take total pvs 
    746748        if (avgRayContri > mMaxAvgRayContri) 
    747                 return totalPvs / childPvs; 
    748  
    749         const float factor =  
    750                         (mMaxAvgRayContri - avgRayContri) /  
    751                         (mMaxAvgRayContri - mMinAvgRayContri); 
    752  
    753         const float newPvs = factor * childPvs + (1.0f - factor) * totalPvs;     
    754          
    755         return newPvs / childPvs; 
     749                return totalPvs; 
     750 
     751        const float alpha = (mMaxAvgRayContri - avgRayContri) /  
     752                                                (mMaxAvgRayContri - mMinAvgRayContri); 
     753 
     754        cout << "here41 **************** " << alpha << " " << childPvs << " " << totalPvs << endl; 
     755 
     756        const float beta = (1.0f - alpha) * (totalPvs + childPvs) / totalPvs; 
     757 
     758        return childPvs + beta; 
    756759} 
    757760 
Note: See TracChangeset for help on using the changeset viewer.