Ignore:
Timestamp:
06/05/08 02:49:49 (16 years ago)
Author:
mattausch
Message:

worked on randomized sampling

File:
1 edited

Legend:

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

    r2738 r2739  
    121121 
    122122protected: 
    123 #if 0 
    124         struct PendingRay 
    125         { 
    126                 PendingRay(VssRay *ray, const bool d) 
    127                         : mRay(ray), mFoundDiscontinuity(d)  
    128                 {} 
    129  
    130                 VssRay *mRay; 
    131                 bool mFoundDiscontinuity; 
    132         }; 
    133  
    134         typedef stack<PendingRay> PendingQueue; 
    135 #endif 
     123 
    136124        typedef stack<VssRay *> RayQueue; 
    137125 
     
    140128                by the queue and continues as long it finds new visible geometry  
    141129                (i.e., the queue is     not empty). 
    142  
    143130                @returns the number of samples cast. 
    144131        */ 
    145132        int ProcessQueue(); 
    146  
    147133        /** Generates the rays starting the adaptive visibility sampling process. 
    148134        */ 
    149135        int CastInitialSamples(int numSamples); 
    150  
    151136        /** Uses the information gained from the ray for doing adaptive border sampling. 
    152137                This function tries to find the border of the triangle found visible by the 
     
    163148        */       
    164149        int AdaptiveBorderSampling(const VssRay &currentRay); 
     150 
    165151        int AdaptiveBorderSamplingOpt(const VssRay &currentRay); 
    166152        /** The reverse sampling step. It is started once the cast 
     
    179165                                                   const Triangle3 &hitTriangle, 
    180166                                                   const VssRay &oldRay); 
     167        /** Returns true if we sampled a closer triangle than with the previous ray.  
     168                Does reverse sampling if gap found. 
     169        */ 
     170        int CheckDiscontinuity2(const VssRay &currentRay,  
     171                                    const Triangle3 &hitTriangle, 
     172                                                        const VssRay &oldRay); 
    181173        /** Adds new samples to the ray queue and classifies them 
    182174                with respect to the previous ray. 
     
    300292 
    301293        void PrepareProbablyVisibleSampling(); 
     294         
     295        void CreateRandomizedReverseRays(const Vector3 &origin,  
     296                                             const Vector3 &termination,  
     297                                                                         const Triangle3 &triangle,                    
     298                                                                         SimpleRayContainer &rays,  
     299                                                                         int number); 
     300 
     301        bool CreateRandomizedReverseRay(const Vector3 &origin,  
     302                                            const Vector3 &termination, 
     303                                                                        const Triangle3 &triangle, 
     304                                                                        SimpleRay &ray); 
     305 
     306        inline bool IntersectViewCell(Vector3 &origin, Vector3 &dir) const; 
    302307 
    303308 
Note: See TracChangeset for help on using the changeset viewer.