Ah sorry, i thought you were talking about this bug:




As you are using 32bit rgba, you could try to encode your depthmap like this:

encode (depthmap shader):
float depth = Color.r; //this is the depth
Color.r = floor(Color.r*127)/127;
Color.g = floor((depth-Color.r)*127*127)/127;

decode (ssao shader):
float depth = tex2D(depthSampler,inTex).r + tex2D(depthSampler,inTex).g/127;

This should drastically reduce the "rings". However ultimately you might want to use a 32bit floating point texture:

bmap_to_format(depthTexture,14);

and then only write/read from the red channel of your depthmap.

Hope this helps smile



Shade-C EVO Lite-C Shader Framework