- Timestamp:
- 09/03/08 10:37:03 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/App/Demos/Vis/FriendlyCulling/src/SampleGenerator.cpp
r2873 r2898 87 87 //cout << "minDist after= " << minDist << endl; 88 88 } 89 90 91 92 GaussianSampleGenerator::GaussianSampleGenerator(int numSamples, float radius): 93 SampleGenerator(numSamples, radius) 94 {} 95 96 97 void GaussianSampleGenerator::Generate(Sample2 *samples) const 98 { 99 static HaltonSequence halton; 100 float r[2]; 101 102 const float sigma = mRadius; 103 104 const float p0 = 1.0f / (sigma * sqrt(2.0f * M_PI)); 105 const float p1 = 1.0f / (sigma * sqrt(2.0f * M_PI)); 106 107 for (int i = 0; i < mNumSamples; ++ i) 108 { 109 halton.GetNext(2, r); 110 111 float exp_x = -(r[0] * r[0]) / (2.0f * sigma * sigma); 112 float exp_y = -(r[1] * r[1]) / (2.0f * sigma * sigma); 113 114 samples[i].x = p0 * pow(M_E, exp_x); 115 samples[i].y = p1 * pow(M_E, exp_y); 116 } 117 118 //cout << "minDist after= " << minDist << endl; 119 }
Note: See TracChangeset
for help on using the changeset viewer.