Changeset 3321


Ignore:
Timestamp:
02/19/09 17:41:20 (16 years ago)
Author:
mattausch
Message:
 
Location:
GTP/trunk/App/Demos/Vis/FriendlyCulling/src
Files:
2 edited

Legend:

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

    r3320 r3321  
    650650        positions.push_back(Vector3(6.07307, 8.20723, 6.62)); 
    651651        positions.push_back(Vector3(-17.1935, 11.1687, 8.8781)); 
    652         //positions.push_back(Vector3(499.648, 264.358, 181.7)); 
    653         //positions.push_back(Vector3(487.913, 285.162, 181.7)); 
     652        positions.push_back(Vector3(1.50032, 31.1943, 19.1f)); 
    654653 
    655654#endif 
     
    658657        Matrix4x4 transl = TranslationMatrix(positions[0]); 
    659658         
    660         LoadModel("hbuddha.dem", dynamicObjects); 
     659        //LoadModel("hbuddha.dem", dynamicObjects); 
     660        LoadModel("venusm.dem", dynamicObjects); 
    661661 
    662662        buddha = dynamicObjects.back(); 
  • GTP/trunk/App/Demos/Vis/FriendlyCulling/src/shaders/ssao.cg

    r3320 r3321  
    4949        // will be interpolated when upsampling and filter size does not match! 
    5050 
    51         float4 texelCenterConv; 
    5251        const float2 invRes = float2(1.0f / res.x, 1.0f / res.y); 
    5352 
    5453        // get position exactly between texel centers 
    55         float2 center = (floor(texCoord * res) + float2(.5f)) * texelCenterConv; 
     54        float2 center = (floor(texCoord * res) + float2(.5f)) * texCoord; 
    5655        //center.x = (floor(texCoord.x * res.x - .5f) + 1.0f) / res.x; 
    5756        //center.y = (floor(texCoord.y * res.y - .5f) + 1.0f) / res.y; 
     
    231230 
    232231                // the normal of the current sample 
     232                //const float3 sampleNormal = normalize(tex2Dlod(normalTex, float4(texcoord, 0, 0)).xyz); 
    233233                const float3 sampleNormal = tex2Dlod(normalTex, float4(texcoord, 0, 0)).xyz; 
    234234 
    235235                // angle between current normal and direction to sample controls AO intensity. 
    236236                float cosAngle2 = .5f + dot(sampleNormal, -normal) * 0.5f; 
     237                //float cosAngle2 = dot(-dirSample, sampleNormal); 
    237238                 
    238239                //const float aoContrib = sampleIntensity / sqrLen; 
     
    240241 
    241242                //const float aoContrib = (1.0f > lengthToSample) ? occlusionPower(9e-2f, DISTANCE_SCALE + lengthToSample): .0f; 
    242                 total_ao += max(cosAngle, .0f) * aoContrib * cosAngle2; 
     243                total_ao += max(cosAngle, .0f) * max(cosAngle2, .0f) * aoContrib; 
    243244 
    244245                ++ numSamples; 
     
    257258#if 1 
    258259                const float tooFarAway = step(0.5f, lengthToSample - changeFactor); 
    259                 if (pixelValid < 2.0f) 
     260 
     261                const float partlyResetThres = 1.0f; 
     262                if (0)//pixelValid <= partlyResetThres) 
    260263                        validSamples = max(validSamples, pixelValid * (1.0f - tooFarAway) * step(-0.1f, cosAngle)); 
    261264                else 
     
    389392                // to have any influence in the current or last frame 
    390393#if 1 
     394                const float partlyResetThres = 1.0f; 
     395 
    391396                const float tooFarAway = step(0.5f, lengthToSample - changeFactor); 
    392                 if (pixelValid < 2.0f) 
     397                if (0)//pixelValid <= partlyResetThres) 
    393398                        validSamples = max(validSamples, pixelValid * (1.0f - tooFarAway) * step(-0.1f, cosAngle)); 
    394399                else 
Note: See TracChangeset for help on using the changeset viewer.