(see the wall)
Why it's looks like this. Kaldaien(specialK developer):
My goal is fix this problem(i know this will be very problematic) or turn off/hide/remove that part of the shadows and use external ssao injection.I remember putting a little bit of work into the cascaded shadow map problem, but as it turns out this problem is related to the Global Illumination performance issues and occasional driver resets (white screen). The engine is trying to write to the depth buffer in pixel shaders and read from it in compute shaders simultaneously, which is not doable in D3D11.
As a compromise, they seem to have just massively reduced shadow draw distance to make the problem appear to go away. If you try to boost the amount of shadow data, then the render and compute pipelines go back to fighting for control of the depth buffer and performance tanks and the driver eventually resets itself because compute shaders are taking too long :-\
There are ways around this, but none are simple. I tried recording and replaying draw calls to do depth write / read as two separate passes and it very nearly worked, but it's ever so slightly beyond my capabilities. It is very frustrating, because if I could get that working it has a massive impact on performance without any loss in image quality
There was an attempt to manipulate shadow shader (dumped with d3migoto)
Attempt to fix(megai2), good result but shadows glitch on some camera angles/player position.
Code: Select all
r0.xyzw = float4(3,3,0,0);
while (true) {
r1.x = cmp((uint)r0.y >= 4);
if (r1.x != 0) break;
r1.xyzw = x0[r0.y+0].xyzw;
r1.xy = r1.xy / r1.ww;
r1.z = max(abs(r1.y), abs(r1.z));
r1.z = max(abs(r1.x), r1.z);
r1.z = cmp(0.99000001 >= r1.z);
if (r1.z != 0) {
r0.zw = r1.xy;
break;
}
r0.xy = (int2)r0.xy + int2(1,1);
r0.zw = r1.xy;
}
Renderdoc frame
Nier injector/debugger
This game is on same engine with Bayonetta as I know. Also I can compleatly disable shadows, so asking If it possible to cast shadows with enb like in GTA or Skyrim?
Sorry for my english(If something is not clear I can speak Italian/Russian). And hope for your help.