I am trying to write my own SSGI, it works fine on Garry's mod, which uses DX9:
but it breaks on Skyrim SE (DX11), look at the fireflies:
As it turns out, the shader failed to cache depth and normal of the previous frame, resulting in failed temporal accumulation, although the initial tracing part seems to malfunction too. The buffer caching is extremely simplistic:
void PS_InputBufferSetup(in VSOUT vsout, out float4 g : SV_Target0, out float4 g_prev : SV_Target1)
{
g_prev = tex2D(GBufferSampler, vsout.texcoord);
g.xyz = getScreenNormal(vsout.texcoord, vsout);
g.w = depth2Z(ReShade::GetLinearizedDepth(vsout.texcoord));
}
that I really don't know what could go wrong. I do have ENB with Skyrim, but disabling it fixes nothing. Anyone has a clue?
For more information, seeĀ
this github page
, although it is a bit of an unorganized mess for now.