SigilFey what do you mean by « mid-range shadows drawing in from the back to the front » , can you rephrase this part ? Sorry English is not my first language , maybe I do not understand well enough .
There are a few areas where shadows will appear to draw in "backwards". Rather than appearing far away and getting sharper as they get closer, they will appear in the middle and draw in
toward you. As far as I know, there's no way to deal with that, but it only happens in a few, specific spots.
What I see is big portions of shadows appearing sometimes very close to Geralt like on a wall for instance , or big shadows abruptly changing positions when Geralt comes close . I’ve heard some people saying this wasn’t the case in older pre 4.04 versions of the game , like this video
That looks like a more complicated issue. Basically it works like this:
1.) Shadow Detail Setting in the menu:
This setting will determine both what objects receive shadows, at what distance the shadows will draw in, and how many levels of shadow detail will occur.
At LOW, smaller objects (like stools, a rake against a wall, that sort of thing) may have no shadows at all. Medium objects (fences, bales of hay, a lampost, etc.) will draw in only when you are close to them. Large objects will only receive detailed shadows up close, and will receive general "global" shadowing (essentially just a blob) at further distances. At this setting, you'll notice a lot of draw-in as you get closer to more complex scenes.
At ULTRA, everything receives shadows, pretty much, but the detail of those shadows will shift between different levels of detail. So, smaller objects will have shadows drawn in while they're further away, medium objects even further, and large objects will maintain detailed shadows even at the furthest range. Additionally, there will be several levels of detail for each shadow type, with all shadows going through "stages" of detail the closer you get.
The settings between low and max will tweak the number of objects that will receive shadowing, the distance at which they will first appear, and the number of LoD levels they will have.
2.) Shadows must be associated with an object that is presently loaded into VRAM. In pretty much any game, in order to reach higher framerates, the GPU will "cull" 3D objects that are not presently on-screen. That frees up a ton of RAM and processing power millisecond to millisecond and drastically increases performance. So, if you turn the camera enough so that the game recognizes that say, a whole house is not on-screen anymore, it will cull that object from the VRAM, which removes its 3D vertices from the active game, and it's shadows can therefore no longer be calculated. Poof! the shadow will disappear.
Turn the camera
two degrees toward the house again, the the GPU will fetch it's data back into VRAM. Poof! the shadow will suddenly reappear.
This is often what creates situations in which shadows appear to blink in and out of existence. And it can happen with everything: small items, trees, fences, buildings, etc.
This sort of thing will be more noticeable when using widescreen and ultra-widescreen monitors, as the game was not specifically built to support such wide resolutions. If that's a factor for you, it can be mitigated by manually setting a 16:9 resolution, which will truncate the image on your monitor. (Just know that it will still happen in some cases.)
3.) As patches, driver updates, API updates, operating system updates and all the rest occur over time, it's possible for games to get further away from the ideal operating environment of a specific PC config. Even consoles are complex enough now that they have to deal with this stuff. So, in the video, for example, Geralt is walking down the street in the city, and it appears that some of the smaller objects (small banners on strings) do not have any shadow data at that setting. They
used to in older versions, apparently, but now they don't. Hence we see only the larger hanging banners drawing in. If that person upped their shadow setting to Medium or higher, I would bet that those shadows begin drawing in again. But of course, that will come with a performance hit.
Now, wether that situation of wonky choice of shadowing is the result of a specific change made through a patch...or whether it's something the drivers are misreading...or whether it's DirectX dynamically selecting objects...or whatever it may be is hard to say. This is where you'd need to confirm the issue and send it into CDPR with your system specs.
4.) Lastly, mods.
Many of these sorts of issues are caused by a mod, or combination of mods, or reference data left over after mods have been removed. It doesn't even need to be a mod that affected shadows. All it needs to be is a mod that introduced assets that the shadowing system may have relied on (even indirectly) to create shadow maps. If something in the game was modded, or if an asset was introduced by a mod and then removed, the game cannot now reference the asset data, and is therefore unable to draw shadows from it. If that's the case, the only thing that CDPR will be able to determine for sure is that the data contains modded references, and there's nothing that can be done at that point.
________________
So, where this leaves you is determining (systematically) which one of those possibilties is creating the issue. After that, we can determine whether it's even fixable. (For example there's nothing to be done about the culling situation -- that's just how the game works. You simply happened to be standing in an unfortunate spot and put the camera at an unfortunate angle.)
If it's the settings, there are a hundred tweaks and tricks we can try to make things look better without losing much performance. I'd recommend starting there. One surefire way to test whether higher settings correct the issues is to lower the resolution of the game to 1920x1080 and max absolutely everything. Play it in Windowed mode. Reload that area and take a look at the shadows. If they look right, it's just the settings. If there's still an issue, it's likely something else.