Ignore:
Timestamp:
10/25/06 20:29:41 (18 years ago)
Author:
mattausch
Message:
 
File:
1 edited

Legend:

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

    r1676 r1679  
    4444/***************************************************************/ 
    4545 
    46 BvhNode::BvhNode(): mParent(NULL), mMailbox(0) 
     46BvhNode::BvhNode():  
     47mParent(NULL),  
     48mMailbox(0), 
     49mRenderCostDecr(0),  
     50mMemoryIncr(0), 
     51mPvsEntriesIncr(0), 
     52mTimeStamp(0) 
    4753{ 
    4854} 
    4955 
    5056BvhNode::BvhNode(const AxisAlignedBox3 &bbox): 
    51 mParent(NULL), mBoundingBox(bbox), mMailbox(0) 
     57mParent(NULL),  
     58mBoundingBox(bbox),  
     59mMailbox(0), 
     60mMemoryIncr(0), 
     61mPvsEntriesIncr(0), 
     62mTimeStamp(0) 
    5263{ 
    5364} 
     
    5566 
    5667BvhNode::BvhNode(const AxisAlignedBox3 &bbox, BvhInterior *parent): 
    57 mBoundingBox(bbox), mParent(parent), mMailbox(0) 
     68mBoundingBox(bbox),  
     69mParent(parent),  
     70mMailbox(0), 
     71mMemoryIncr(0), 
     72mPvsEntriesIncr(0), 
     73mTimeStamp(0) 
    5874{ 
    5975} 
     
    400416        backData.mMaxCostMisses = sc.GetMaxCostMisses(); 
    401417         
     418        // set the time stamp so the order of traversal can be reconstructed 
     419        node->mTimeStamp = mHierarchyManager->mTimeStamp ++; 
     420        cout << "here4 " << node->mTimeStamp << endl; 
     421        node->mRenderCostDecr = sc.GetRenderCostDecrease(); 
     422        node->mPvsEntriesIncr = sc.GetPvsEntriesIncr(); 
     423 
    402424        // assign the objects in sorted order 
    403425        if (mUseGlobalSorting) 
     
    491513        if (computeSplitPlane) 
    492514        { 
    493                 const bool sufficientSamples = splitCandidate.mParentData.mNumRays < mMinRaysForVisibility; 
     515                const bool sufficientSamples = splitCandidate.mParentData.mNumRays > mMinRaysForVisibility; 
    494516 
    495517                const bool useVisibiliyBasedHeuristics =  
    496518                        !mUseSah && 
    497                         !(mHierarchyManager->GetViewSpaceSubdivisionType() == HierarchyManager::KD_BASED_VIEWSPACE_SUBDIV) && 
     519                        (mHierarchyManager->GetViewSpaceSubdivisionType() == HierarchyManager::KD_BASED_VIEWSPACE_SUBDIV) && 
    498520                        sufficientSamples; 
    499521 
     
    12591281                                if (useVisibilityBasedHeuristics) 
    12601282                                { 
     1283                                        //cout << "v"; 
    12611284                                        /////////// 
    12621285                                        //-- heuristics using objects weighted by view cells volume 
    12631286                                        nCostRatio[axis] = 
    1264                                                 EvalLocalCostHeuristics( 
    1265                                                                                                 tData, 
    1266                                                                                                 axis, 
    1267                                                                                                 nFrontObjects[axis], 
    1268                                                                                                 nBackObjects[axis]); 
     1287                                                EvalLocalCostHeuristics(tData, axis, nFrontObjects[axis], nBackObjects[axis]); 
    12691288                                } 
    12701289                                else 
    1271                                 { 
     1290                                {//cout << "e"; 
    12721291                                        ////////////////// 
    12731292                                        //-- view cells not constructed yet     => use surface area heuristic                    
    12741293                                        nCostRatio[axis] = 
    1275                                                 EvalSah( 
    1276                                                                 tData, 
    1277                                                                 axis, 
    1278                                                                 nFrontObjects[axis], 
    1279                                                                 nBackObjects[axis]); 
     1294                                                EvalSah(tData, axis, nFrontObjects[axis], nBackObjects[axis]); 
    12801295                                } 
    12811296                        } 
     
    12841299                                //-- split objects using some simple criteria 
    12851300                                nCostRatio[axis] = 
    1286                                         EvalLocalObjectPartition( 
    1287                                                                                          tData, 
    1288                                                                                          axis, 
    1289                                                                                          nFrontObjects[axis], 
    1290                                                                                          nBackObjects[axis]); 
     1301                                        EvalLocalObjectPartition(tData, axis, nFrontObjects[axis], nBackObjects[axis]); 
    12911302                        } 
    12921303 
Note: See TracChangeset for help on using the changeset viewer.