Ignore:
Timestamp:
03/13/09 17:42:47 (15 years ago)
Author:
mattausch
Message:

worked on sampling

File:
1 edited

Legend:

Unmodified
Added
Removed
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/src/SampleGenerator.cpp

    r3329 r3338  
    5151        int tries = 0; 
    5252 
    53         //cout << "minDist before= " << minDist << endl; 
     53        cout << "minDist before= " << minDist << endl; 
    5454        Sample2 *s = (Sample2 *)samples; 
    5555 
     
    6464                        //mHalton->GetNext(r); 
    6565 
     66#if 0 
    6667                        // scale to -1 .. 1 
    6768                        const float rx = r[0] * 2.0f - 1.0f; 
     
    7071                        // check if in disk, else exit early 
    7172                        const float distanceSquared = rx * rx + ry * ry; 
    72  
    73                         if ((rx * rx + ry * ry > mRadius * mRadius)  
    74                                 // also avoid case that sample exactly in center                         
     73                        if (rx * rx + ry * ry > mRadius * mRadius)  
     74                                // also avoid case that sample exactly in center 
    7575                                //|| (distanceSquared <= 1e-3f) 
    76                                 ) 
     76                        { 
    7777                                continue; 
     78                        } 
     79#else 
     80                        const float rx = r[0]; 
     81                        const float ry = r[1]; 
     82#endif 
    7883 
    7984                        bool sampleValid = true; 
     
    109114        } 
    110115 
    111         //cout << "minDist after= " << (float)minDist / mNumSamples<< " #tries: " << tries << endl; 
     116        for (int i = 0; i < mNumSamples; ++ i) 
     117        { 
     118                const float a = 2.0f * M_PI * s[i].x; 
     119                const float r = sqrt(s[i].y); 
     120                 
     121                const float rad = mRadius * r; 
     122 
     123                s[i].x = rad * cos(a); 
     124                s[i].y = rad * sin(a); 
     125        } 
     126 
     127        cout << "minDist after= " << (float)minDist / mNumSamples<< " #tries: " << tries << endl; 
    112128} 
    113129 
Note: See TracChangeset for help on using the changeset viewer.