Changeset 1673


Ignore:
Timestamp:
10/24/06 10:15:48 (18 years ago)
Author:
mattausch
Message:
 
Location:
GTP/trunk/Lib/Vis/Preprocessing
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/Preprocessing/scripts/vsposp_typical.sh

    r1667 r1673  
    1212 
    1313#SCENE=vsposp_typical 
    14 SCENE=soda5_vsposp 
    15 #SCENE=soda_vsposp 
     14#SCENE=soda5_vsposp 
     15SCENE=soda_vsposp 
    1616#SCENE=vienna_vsposp 
    1717#SCENE=arena_vsposp 
     
    7171  -hierarchy_subdivision_stats=$LOG_PREFIX-$METHOD-hierarchy-subdivisionStats.log \ 
    7272  -hierarchy_construction_type=2 \ 
    73   -hierarchy_construction_consider_memory=false \ 
     73  -hierarchy_construction_consider_memory2=true \ 
     74 -bvh_construction_render_cost_decrease_weight=0.99 \ 
     75 -vsp_construction_render_cost_decrease_weight=0.99 \ 
    7476  -hierarchy_construction_multilevel=false \ 
    7577  -hierarchy_term_memory_const=0.9 \ 
  • GTP/trunk/Lib/Vis/Preprocessing/src/BvHierarchy.cpp

    r1667 r1673  
    548548                priority = factor * renderCostDecr + (1.0f - factor) * oldRenderCost; 
    549549 
    550                 if (1)//0 && mHierarchyManager->mConsiderMemory) 
     550                if (mHierarchyManager->mConsiderMemory2) 
    551551                { 
    552552                        priority /= ((float)splitCandidate.GetPvsEntriesIncr() + mHierarchyManager->mMemoryConst); 
  • GTP/trunk/Lib/Vis/Preprocessing/src/BvHierarchy.h

    r1667 r1673  
    441441                { 
    442442                        HierarchyManager *hm = sBvHierarchy->mHierarchyManager; 
     443                 
    443444                        if (hm->ConsiderMemory()) 
    444445                        { 
     
    446447                                const float mc = hm->GetHierarchyStats().mMemory + 
    447448                                                                 (float)mPvsEntriesIncr * ObjectPvs::GetEntrySizeByte(); 
    448                                 //cout << "x"; 
     449                                 
    449450                                return - (rc * mc) / float(1024 * 1024); 
    450451                        } 
  • GTP/trunk/Lib/Vis/Preprocessing/src/Environment.cpp

    r1666 r1673  
    25222522                                        "false"); 
    25232523 
     2524        RegisterOption("Hierarchy.Construction.considerMemory2", 
     2525                                        optBool, 
     2526                                        "hierarchy_construction_consider_memory2=", 
     2527                                        "false"); 
     2528 
    25242529        RegisterOption("Hierarchy.Construction.repairQueue", 
    25252530                                        optBool, 
  • GTP/trunk/Lib/Vis/Preprocessing/src/HierarchyManager.cpp

    r1667 r1673  
    122122                "Hierarchy.Construction.considerMemory", mConsiderMemory); 
    123123 
     124        Environment::GetSingleton()->GetBoolValue( 
     125                "Hierarchy.Construction.considerMemory2", mConsiderMemory2); 
     126 
    124127        Environment::GetSingleton()->GetFloatValue( 
    125128                "Hierarchy.Termination.maxMemory", mTermMaxMemory); 
     
    141144        Debug << "minimal number of steps from same type: " << mMinStepsOfSameType << endl; 
    142145        Debug << "maximal allowed memory: " << mTermMaxMemory << endl; 
    143         Debug << "consider mem: " << mConsiderMemory << endl; 
     146        Debug << "consider memory: " << mConsiderMemory << endl; 
     147        Debug << "consider memory2: " << mConsiderMemory << endl; 
    144148        Debug << "mem const: " << mMemoryConst << endl; 
    145149 
     
    422426                // decide upon next split type 
    423427                const float vspPriority =  viewSpaceQueue.Top() ? viewSpaceQueue.Top()->GetPriority() : -1e20; 
    424                 const float ospPriority =  viewSpaceQueue.Top() ? objectSpaceQueue.Top()->GetPriority() : -1e20; 
     428                const float ospPriority =  objectSpaceQueue.Top() ? objectSpaceQueue.Top()->GetPriority() : -1e20; 
    425429                 
    426430                cout << "new decicion, vsp: " << vspPriority << ", osp: " << ospPriority << endl; 
     
    429433                if (ospPriority >= vspPriority) 
    430434                { 
    431                         // use splits of one kind until rendercost decrease of other domain is reached 
    432                         renderCostDecr = vspPriority; 
    433                         cout << "comparing with this render cost: " << renderCostDecr << endl; 
     435                        cout << "osp" << endl; 
    434436                        // dirtied view space candidates 
    435437                        SubdivisionCandidateContainer dirtyVspList; 
     
    450452                else 
    451453                { 
    452                         // use splits of one kind until rendercost slope is reached 
    453                         renderCostDecr = ospPriority; 
    454                         cout << "comparing with this render cost: " << renderCostDecr << endl; 
    455  
     454                        cout << "vsp" << endl; 
     455                         
    456456                        ///////////////// 
    457457                        // subdivide view space with respect to the objects 
  • GTP/trunk/Lib/Vis/Preprocessing/src/HierarchyManager.h

    r1667 r1673  
    535535        bool mConsiderMemory; 
    536536 
     537        /// constant value for driving the heuristics 
    537538        float mMemoryConst; 
    538  
     539         
     540        bool mConsiderMemory2; 
    539541 
    540542        friend VspTree; 
  • GTP/trunk/Lib/Vis/Preprocessing/src/Pvs.h

    r1667 r1673  
    497497float Pvs<T, S>::GetEntrySize() 
    498498{ 
    499         return (float)sizeof(T) + sizeof(S) / float(1024 * 1024); 
     499        return (float)(sizeof(T) + sizeof(S)) / float(1024 * 1024); 
    500500} 
    501501 
  • GTP/trunk/Lib/Vis/Preprocessing/src/VspTree.cpp

    r1668 r1673  
    786786 
    787787 
    788 void VspTree::EvalSubdivisionCandidate(VspSubdivisionCandidate &splitCandidate, bool computeSplitPlane) 
     788void VspTree::EvalSubdivisionCandidate(VspSubdivisionCandidate &splitCandidate,  
     789                                                                           bool computeSplitPlane) 
    789790{ 
    790791        if (computeSplitPlane) 
     
    825826        float priority = factor * renderCostDecr + (1.0f - factor) * oldRenderCost; 
    826827 
    827         if (1)//0 && mHierarchyManager->mConsiderMemory) 
     828        if (mHierarchyManager->mConsiderMemory2) 
    828829        { 
    829830                priority /= ((float)splitCandidate.GetPvsEntriesIncr() + mHierarchyManager->mMemoryConst); 
  • GTP/trunk/Lib/Vis/Preprocessing/src/VspTree.h

    r1667 r1673  
    864864        int PrepareHeuristics(KdLeaf *leaf); 
    865865 
    866         /** Reevaluates the priority of this split candidate 
    867                 @returns priority 
    868         */ 
    869         //float EvalPriority(const VspSubdivisionCandidate &splitCandidate) const; 
    870  
     866         
    871867        ///////////////////////////////////////////////////////////////////////////// 
    872868 
     
    10731069        bool mOutOfMemory; 
    10741070 
    1075  
     1071        //////////// 
    10761072        //-- split heuristics based parameters 
    10771073         
Note: See TracChangeset for help on using the changeset viewer.