Sorry I don't see it. Here is the file open in notepad:
texture Depth;texture thisframe;texture NoiseText < string filename="ssao\\RandomNoiseD.dds"; >;float2 rcpres;float4x4 m44proj;//float4 f4Time;static const float nearZ = m44proj._43 / m44proj._33;static const float farZ = m44proj._43 / (m44proj._33 + 1.0f);sampler depthSampler = sampler_state{ texture = ; AddressU = CLAMP; AddressV = CLAMP; MINFILTER = POINT; MAGFILTER = POINT;};sampler frameSampler = sampler_state{ texture = ; AddressU = CLAMP; AddressV = CLAMP; MINFILTER = POINT; MAGFILTER = POINT;};sampler noiseSampler = sampler_state{ texture = ; AddressU = WRAP; AddressV = WRAP; MINFILTER = LINEAR; MAGFILTER = LINEAR;};struct VSOUT{ float4 vertPos : POSITION; float2 UVCoord : TEXCOORD0;};struct VSIN{ float4 vertPos : POSITION0; float2 UVCoord : TEXCOORD0;};VSOUT FrameVS(VSIN IN){ VSOUT OUT = (VSOUT)0.0f; // initialize to zero, avoid complaints. OUT.vertPos = IN.vertPos; OUT.UVCoord = IN.UVCoord; return OUT;} //float Near = m44proj._43 / m44proj._33;//float Far = m44proj._43 / (m44proj._33 + 1); float readDepth(in float2 coord : TEXCOORD0){ if (coord.x < 0 || coord.y < 0) { return 1.0f; } float posZ = tex2D(depthSampler, coord).x; posZ = pow(posZ,24.0f); //posZ=posZ*posZ; //posZ=posZ*posZ; //posZ=posZ*posZ; //return (2.0f * nearZ) / (nearZ + farZ - posZ * (farZ - nearZ)); return posZ;}float compareDepths(in float depth1, in float depth2, inout int far){ float diff = (depth1 - depth2) * 100.0f; //depth difference (0-100) float gdisplace = 0.2f; //gauss bell center float garea = 2.0f; //gauss bell width 2 //reduce left bell width to avoid self-shadowing if (diff < gdisplace) { garea = 0.1f; } else { far = 1.0f; } float gauss = pow(2.7182,-2.0f*(diff-gdisplace)*(diff-gdisplace)/(garea*garea)); return gauss;}float calAO(in float2 texCoord : TEXCOORD0, in float depth, in float dw, in float dh){ float temp = 0.0f; float temp2 = 0.0f; float coordw = texCoord.x + dw/depth; float coordh = texCoord.y + dh/depth; float coordw2 = texCoord.x - dw/depth; float coordh2 = texCoord.y - dh/depth; if (coordw < 1.0 && coordw > 0.0 && coordh < 1.0 && coordh > 0.0) { float2 coord = float2(coordw , coordh); float2 coord2 = float2(coordw2, coordh2); int far = 0; temp = compareDepths(depth, readDepth(coord), far); //DEPTH EXTRAPOLATION: if (far > 0) { temp2 = compareDepths(readDepth(coord2),depth,far); temp += (1.0-temp)*temp2; } } return temp; }float4 Ssao(VSOUT IN) : COLOR0{ //float timeMult = (f4Time[1]*f4Time[2]*f4Time[3])+1.0f; //float timeMod = f4Time[0]%timeMult; //float timeSeed = timeMod / timeMult; //float2 fres = 15.0f + (timeSeed * 10.0f); float2 fres = 20.0f; float4 random = tex2D(noiseSampler,IN.UVCoord.xy*fres.xy); //float4 random = tex2D(noiseSampler,IN.UVCoord); random = (random * 2.0) - float4(1.0f, 1.0f, 1.0f, 0.0f); float depth = readDepth(IN.UVCoord); float ao = 0.0f; //float pw = rcpres[0] * 0.5f; //float ph = rcpres[1] * 0.5f; float pw = 1.0f/800.0f * 0.5f; float ph = 1.0f/600.0f * 0.5f; for(int i=0; i<4; ++i) { //calculate color bleeding and ao: ao+=calAO(IN.UVCoord, depth, pw, ph); ao+=calAO(IN.UVCoord, depth, pw, -ph); ao+=calAO(IN.UVCoord, depth, -pw, ph); ao+=calAO(IN.UVCoord, depth, -pw, -ph); ao+=calAO(IN.UVCoord, depth, pw*1.2f, 0.0f); ao+=calAO(IN.UVCoord, depth, -pw*1.2f, 0.0f); ao+=calAO(IN.UVCoord, depth, 0.0f, ph*1.2f); ao+=calAO(IN.UVCoord, depth, 0.0f, -ph*1.2f); //sample jittering: //pw += random.x*((rcpres[0]+rcpres[1]) / 4); //ph += random.y*((rcpres[0]+rcpres[1]) / 4); pw += random.x*0.0007f; ph += random.y*0.0007f; //increase sampling area: pw *= 1.7f; ph *= 1.7f; } //float finalAO = 1.0f-(ao/32.0f); float3 calcAO = 0.3f+(1.0f-(ao/32.0f))*0.7f; calcAO = pow(calcAO,5.0f); //float3 calcAO = 1.0f-(ao/32.0f); //float4 finalAO = float4(calcAO.xyz,1.0); float4 fSample = tex2D(frameSampler,IN.UVCoord); float samBrightness = (0.299 * fSample.r) + (0.587 * fSample.g) + (0.114 * fSample. B) ; fSample = fSample * float4(pow(calcAO,(1 - samBrightness)).rgb,1.0); //return float4(pow(calcAO,(1 - samBrightness)).rgb,1.0); return fSample; //return float4(calcAO.xyz,1.0);}technique t0 { pass p0 { VertexShader = compile vs_1_1 FrameVS(); PixelShader = compile ps_3_0 Ssao(); CullMode = none; } }