- Timestamp:
- 11/25/08 00:56:01 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GTP/trunk/App/Demos/Vis/FriendlyCulling/src/shaders/combineSsao.cg
r3159 r3160 89 89 uniform sampler2D ssaoTex, 90 90 uniform sampler2D normalsTex, 91 uniform sampler2D offsetTex,92 91 uniform float2 filterOffs[NUM_SSAO_FILTERSAMPLES], 93 uniform float filterWeights[NUM_SSAO_FILTERSAMPLES] 92 uniform float filterWeights[NUM_SSAO_FILTERSAMPLES], 93 uniform float4x4 modelViewProj 94 94 ) 95 95 { … … 99 99 float4 ao = tex2Dlod(ssaoTex, float4(IN.texCoord, 0, 0)); 100 100 101 if ((ao.y < 70.0f) && (col.w < 1e10f)) 101 // reconstruct position from the eye space depth 102 const float eyeSpaceDepth = col.w; 103 const float4 worldPos = float4(-IN.view * eyeSpaceDepth, 1.0f); 104 // compute w factor from projection in order to control filter size 105 const float4 projPos = mul(modelViewProj, worldPos); 106 const float distanceScale = 1.0f / projPos.w; 107 108 const float convergence = ao.y; 109 110 if ((ao.y < 100.0f) && (col.w < 1e10f)) 102 111 //if (col.w < 1e10f) 103 112 { 104 113 const float scaleFactor = 1.0f; 105 const float adaptFactor = 10.0f;106 const float scale = adaptFactor * scaleFactor * ao.z / (adaptFactor + ao.y);114 const float adaptFactor = 5.0f; 115 const float scale = adaptFactor * scaleFactor * distanceScale / (adaptFactor + convergence); 107 116 108 //ao.x = DiscontinuityFilter(IN.texCoord, ao, col, ssaoTex, normalsTex, colorsTex, filterOffs, filterWeights, scale);117 ao.x = DiscontinuityFilter(IN.texCoord, ao, col, ssaoTex, normalsTex, colorsTex, filterOffs, filterWeights, scale); 109 118 } 110 119
Note: See TracChangeset
for help on using the changeset viewer.