Changeset 2902


Ignore:
Timestamp:
09/04/08 12:55:36 (16 years ago)
Author:
mattausch
Message:
 
Location:
GTP/trunk/App/Demos/Vis/FriendlyCulling/src
Files:
3 edited

Legend:

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

    r2901 r2902  
    88HaltonSequence PoissonDiscSampleGenerator::sHalton; 
    99HaltonSequence GaussianSampleGenerator::sHalton; 
     10HaltonSequence PseudoRandomGenerator::sHalton; 
    1011 
    1112 
     
    125126 
    126127 
     128PseudoRandomGenerator::PseudoRandomGenerator(int numSamples, float radius): 
     129SampleGenerator(numSamples, radius) 
     130{} 
     131 
     132 
     133void PseudoRandomGenerator::Generate(float *samples) const 
     134{ 
     135        sHalton.GetNext(2 * mNumSamples, samples); 
     136} 
     137 
     138 
    127139SphericalSampleGenerator::SphericalSampleGenerator(int numSamples, float radius): 
    128140SampleGenerator(numSamples, radius) 
     
    134146        float r[2]; 
    135147        Sample3 *s = (Sample3 *)samples; 
     148/*       
     149        // idea: use poisson distribution to generate samples 
    136150 
    137         // idea: use poisson distribution to generate samples 
    138151        PoissonDiscSampleGenerator poisson(mNumSamples, 1.0f); 
    139152        Sample2 *pSamples = new Sample2[mNumSamples]; 
    140  
    141153        poisson.Generate((float *)pSamples); 
    142  
     154*/ 
    143155        for (int i = 0; i < mNumSamples; ++ i) 
    144156        { 
    145                 //sHalton.GetNext(2, r); 
    146                 r[0] = pSamples[i].x; r[1] = pSamples[i].y; 
     157                sHalton.GetNext(2, r); 
     158                //r[0] = pSamples[i].x; r[1] = pSamples[i].y; 
    147159 
    148160                // create stratified samples over sphere 
     
    155167        } 
    156168 
    157         delete [] pSamples; 
     169        //delete [] pSamples; 
    158170} 
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/src/SampleGenerator.h

    r2901 r2902  
    4747 
    4848 
     49class PseudoRandomGenerator: public SampleGenerator 
     50{ 
     51public: 
     52         
     53        PseudoRandomGenerator(int numSamples, float radius); 
     54 
     55        virtual void Generate(float *samples) const; 
     56 
     57protected: 
     58 
     59        static HaltonSequence sHalton; 
     60}; 
     61 
     62 
    4963class PoissonDiscSampleGenerator: public SampleGenerator 
    5064{ 
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/src/shaders/ssao3d.cg

    r2901 r2902  
    5959        for (int i = 0; i < NUM_SAMPLES; ++ i)  
    6060        { 
    61                 const float3 offset = samples[i] * AREA_SIZE; 
     61                const float3 offset = samples[i]; 
    6262 
    6363                //////////////////// 
    6464                // add random noise: r stores costheta, g stores sintheta 
    6565 
    66                 float3 mynoise = (float3)tex2D(noiseTexture, IN.texCoord.xy * noiseMultiplier); 
    67                 const float3 offsetTransformed = reflect(offset, mynoise); 
    68                 //const float3 offsetTransformed = offset; 
     66                float3 mynoise = (float3)tex2D(noiseTexture, IN.texCoord.xy);// * noiseMultiplier); 
     67                //const float3 offsetTransformed = myreflect(offset, mynoise) * AREA_SIZE; 
     68                const float3 offsetTransformed = offset * AREA_SIZE; 
    6969 
    7070                // compute position 
Note: See TracChangeset for help on using the changeset viewer.