Ignore:
Timestamp:
03/12/07 18:30:52 (17 years ago)
Author:
mattausch
Message:

worked on optimization. warning: not tested yet

File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/Preprocessing/src/VspTree.h

    r2233 r2237  
    801801        */ 
    802802        float EvalRenderCostDecrease(VspSubdivisionCandidate &splitData,  
    803                                                                  float &normalizedOldRenderCost) const; 
     803                                                                 float &normalizedOldRenderCost, 
     804                                                                 const float totalPvs, 
     805                                                                 const float pvsFront, 
     806                                                                 const float pvsBack) const; 
    804807 
    805808        /** Collects view cells in the subtree under root. 
     
    890893        float EvalPvsCost(const RayInfoContainer &rays) const; 
    891894 
    892         int EvalPvsEntriesIncr(VspSubdivisionCandidate &splitCandidate) const; 
     895        int EvalPvsEntriesIncr(VspSubdivisionCandidate &splitCandidate, 
     896                                                   const int oldPvsSize, 
     897                                                   const int fPvsSize, 
     898                                                   const int bPvsSize) const; 
    893899 
    894900        /** Returns number of effective entries in the pvs. 
     
    919925        /** Evaluates contribution of min event to pvs 
    920926        */ 
    921         inline int EvalMinEventContribution(const VssRay &ray, const bool isTermination) const; 
     927        inline float EvalMinEventContribution(const VssRay &ray, const bool isTermination) const; 
    922928 
    923929        /** Evaluates contribution of max event to pvs 
    924930        */ 
    925         inline int EvalMaxEventContribution(const VssRay &ray, const bool isTermination) const; 
     931        inline float EvalMaxEventContribution(const VssRay &ray, const bool isTermination) const; 
    926932 
    927933        /** Evaluates contribution of kd leaf when encountering a min event 
    928934        */ 
    929         inline int EvalMinEventContribution(KdLeaf *leaf) const; 
     935        inline float EvalMinEventContribution(KdLeaf *leaf) const; 
    930936 
    931937        /**  Evaluates contribution of kd leaf when encountering a max event 
    932938        */ 
    933         inline int EvalMaxEventContribution(KdLeaf *leaf) const; 
     939        inline float EvalMaxEventContribution(KdLeaf *leaf) const; 
    934940 
    935941        /** Prepares objects for the heuristics. 
     
    10111017                const bool countEntries) const; 
    10121018 
     1019        inline void UpdateContributionsToPvs(BvhLeaf *leaf, 
     1020                                                                                 const int cf, 
     1021                                                                                 float &frontPvs, float &backPvs, float &totalPvs, 
     1022                                                                                 int &frontSize, int &backSize, int &totalSize) const; 
     1023 
    10131024        /** Evaluates the contribution for kd leaves. 
    10141025        */ 
     
    10851096        /** Evaluates pvs contribution of this ray. 
    10861097        */ 
    1087         int EvalContributionToPvs(const VssRay &ray, const bool isTermination) const; 
     1098        float EvalContributionToPvs(const VssRay &ray, const bool isTermination) const; 
    10881099 
    10891100        /** Evaluates pvs contribution of a kd node. 
    10901101        */ 
    1091         int EvalContributionToPvs(KdLeaf *leaf) const; 
     1102        float EvalContributionToPvs(KdLeaf *leaf) const; 
    10921103 
    10931104        /** Creates new root of hierarchy and computes bounding box. 
Note: See TracChangeset for help on using the changeset viewer.