What is quality difference of screenspace reflections vs just using cone tracing reflections?
For a true comparison, I turned up the voxel resolution to 256 (left) and turned off any fade effects from the ssr (right).
[attachment=18166:giboxvct.png][attachment=18167:giboxssr.png]
To tell you the truth - I am simply just using SSRs to fake reflections that I cannot yet achieve with VCT (but one day in the future I may be able to).
The biggest issue that I can't seem to figure out with my VCT reflections though, is the transparency. I'm not sure if this is anything to do with the way I filter my voxels.
Each ray should terminate when it accumulates full opacity. So when a ray hits the surface of the orange box it should terminate when it detects that its opacity is 1, but it doesn't, instead, it continues on, accumulating everything that is behind it.
Here's the specular cone tracing code if anyone wants to analyze it:
vec4 specConeTrace(vec3 o, vec3 d, float coneRatio, float maxDist)
{
vec3 samplePos = o;
vec4 accum = vec4(0.0);
float minDiam = 1.0/voxDim;
float startDist = 2*minDiam;
float dist = startDist;
while(dist <= maxDist && accum.w < 1.0)
{
float sampleDiam = max(minDiam, coneRatio*dist);
float sampleLOD = log2(sampleDiam*voxDim);
vec3 samplePos = o + d*dist;
vec4 sampleVal = sampleSpecVox(samplePos, -d, sampleLOD);
float sampleWt = (1.0 - accum.w);
accum += sampleVal * sampleWt;
dist += sampleDiam;
}
accum.xyz *= 2.0;
return accum;
}