Far Cry 4 {3D Screenshots}
  6 / 28    
Nice, hope you succeed! How are you finding performance in 3D? I just took a quick look and found 3D really hurt my performance (at mostly max settings), is it okay on medium settings?
Nice, hope you succeed!

How are you finding performance in 3D? I just took a quick look and found 3D really hurt my performance (at mostly max settings), is it okay on medium settings?

#76
Posted 12/29/2014 08:30 PM   
Tested @ 3D Surround @ CM Mode. 3D quality is ok for CM Mode @ driver 347.09 I left native 5760*1080 @ low details to 4800*900 @ ultra, antialising off. With antialising on I got shadow issues, flickering and sometimes a strange double (shadow) picture. And AA kills the performance @ 3D Surround. These settings look better in my opinion. I also set framelimiter via Nvidia Inspector to 40 fps. This is smoother @ SLI than +- 50 fps without limiter and a lot of frame drops. Played 10 hours without any problems and crashes. Game looks nice and its very funny to be played.
Tested @ 3D Surround @ CM Mode.

3D quality is ok for CM Mode @ driver 347.09

I left native 5760*1080 @ low details to 4800*900 @ ultra, antialising off.
With antialising on I got shadow issues, flickering and sometimes a strange double (shadow) picture. And AA kills the performance @ 3D Surround.

These settings look better in my opinion. I also set framelimiter via Nvidia Inspector to 40 fps.
This is smoother @ SLI than +- 50 fps without limiter and a lot of frame drops.
Played 10 hours without any problems and crashes. Game looks nice and its very funny to be played.
#77
Posted 12/29/2014 09:47 PM   
[quote="Pirateguybrush"]Nice, hope you succeed! How are you finding performance in 3D? I just took a quick look and found 3D really hurt my performance (at mostly max settings), is it okay on medium settings?[/quote]Subjectively performance seems better than I expected, but I haven't measured it yet or engaged in any serious firefights (just using the grenade launcher whenever a pack of wild dogs decides to interrupt my shader hunting). I'll turn on a FPS monitor today and get some numbers. The screenshot I posted yesterday was on low quality. I can run it much higher - I was messing around with different settings and clear forgot I had it on low when I took that. My shadow fix currently works on Low, Medium and High - I haven't looked at higher settings yet (and soft shadows uses a 10,000+ line shader with 1,000+ broken lines due to decompile errors), since fixing this fog issue is top priority as it will be the deciding factor in whether this game is fixable or not. Assuming I can get past this game-breaking fog issue (which I now believe is being caused by a mono depth buffer, which is also causing a one-eye halo on the water), I might need you to help me test SLI. [quote="ronrebell"]Tested @ 3D Surround @ CM Mode. 3D quality is ok for CM Mode @ driver 347.09[/quote]I tried CM on 347.09, which looks pretty good in this game, but the halos around the weapon sights is a major deal breaker for it since you can't see what your aiming at half the time. I've rolled back to 344.75 after discovering that screenshots on 3dvisionlive seems to be broken (mono) on 347.09. [quote]I left native 5760*1080 @ low details to 4800*900 @ ultra, antialising off. With antialising on I got shadow issues, flickering and sometimes a strange double (shadow) picture. And AA kills the performance @ 3D Surround.[/quote]Antialiasing is weird in this game - SMAA works in real 3D, but causes some kind of blur when moving, especially on lower framerates, all the other settings completely break my shadow fix (haven't investigated why yet). I think there must be some effects working off an old frame or something - I've lined up the shadows with the ground, but as I move forward they appear to be slightly under the ground and as I move backwards they appear to hover slightly above the ground. It's not game-breaking, just weird. Not FOV related either - I can set the slider to anything and the shadows still work.
Pirateguybrush said:Nice, hope you succeed!

How are you finding performance in 3D? I just took a quick look and found 3D really hurt my performance (at mostly max settings), is it okay on medium settings?
Subjectively performance seems better than I expected, but I haven't measured it yet or engaged in any serious firefights (just using the grenade launcher whenever a pack of wild dogs decides to interrupt my shader hunting). I'll turn on a FPS monitor today and get some numbers.

The screenshot I posted yesterday was on low quality. I can run it much higher - I was messing around with different settings and clear forgot I had it on low when I took that. My shadow fix currently works on Low, Medium and High - I haven't looked at higher settings yet (and soft shadows uses a 10,000+ line shader with 1,000+ broken lines due to decompile errors), since fixing this fog issue is top priority as it will be the deciding factor in whether this game is fixable or not.

Assuming I can get past this game-breaking fog issue (which I now believe is being caused by a mono depth buffer, which is also causing a one-eye halo on the water), I might need you to help me test SLI.

ronrebell said:Tested @ 3D Surround @ CM Mode.

3D quality is ok for CM Mode @ driver 347.09
I tried CM on 347.09, which looks pretty good in this game, but the halos around the weapon sights is a major deal breaker for it since you can't see what your aiming at half the time. I've rolled back to 344.75 after discovering that screenshots on 3dvisionlive seems to be broken (mono) on 347.09.

I left native 5760*1080 @ low details to 4800*900 @ ultra, antialising off.
With antialising on I got shadow issues, flickering and sometimes a strange double (shadow) picture. And AA kills the performance @ 3D Surround.
Antialiasing is weird in this game - SMAA works in real 3D, but causes some kind of blur when moving, especially on lower framerates, all the other settings completely break my shadow fix (haven't investigated why yet).

I think there must be some effects working off an old frame or something - I've lined up the shadows with the ground, but as I move forward they appear to be slightly under the ground and as I move backwards they appear to hover slightly above the ground. It's not game-breaking, just weird. Not FOV related either - I can set the slider to anything and the shadows still work.

2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit

Alienware M17x R4 w/ built in 3D, Intel i7 3740QM, GTX 680m 2GB, 16GB DDR3 1600MHz RAM, Win7 64bit, 1TB SSD, 1TB HDD, 750GB HDD

Pre-release 3D fixes, shadertool.py and other goodies: http://github.com/DarkStarSword/3d-fixes
Support me on Patreon: https://www.patreon.com/DarkStarSword or PayPal: https://www.paypal.me/DarkStarSword

#78
Posted 12/30/2014 12:49 AM   
[quote="DarkStarSword"][quote="Pirateguybrush"]Nice, hope you succeed! How are you finding performance in 3D? I just took a quick look and found 3D really hurt my performance (at mostly max settings), is it okay on medium settings?[/quote]Subjectively performance seems better than I expected, but I haven't measured it yet or engaged in any serious firefights (just using the grenade launcher whenever a pack of wild dogs decides to interrupt my shader hunting). I'll turn on a FPS monitor today and get some numbers. The screenshot I posted yesterday was on low quality. I can run it much higher - I was messing around with different settings and clear forgot I had it on low when I took that. My shadow fix currently works on Low, Medium and High - I haven't looked at higher settings yet (and soft shadows uses a 10,000+ line shader with 1,000+ broken lines due to decompile errors), since fixing this fog issue is top priority as it will be the deciding factor in whether this game is fixable or not. Assuming I can get past this game-breaking fog issue (which I now believe is being caused by a mono depth buffer, which is also causing a one-eye halo on the water), I might need you to help me test SLI. [quote="ronrebell"]Tested @ 3D Surround @ CM Mode. 3D quality is ok for CM Mode @ driver 347.09[/quote]I tried CM on 347.09, which looks pretty good in this game, but the halos around the weapon sights is a major deal breaker for it since you can't see what your aiming at half the time. I've rolled back to 344.75 after discovering that screenshots on 3dvisionlive seems to be broken (mono) on 347.09. [quote]I left native 5760*1080 @ low details to 4800*900 @ ultra, antialising off. With antialising on I got shadow issues, flickering and sometimes a strange double (shadow) picture. And AA kills the performance @ 3D Surround.[/quote]Antialiasing is weird in this game - SMAA works in real 3D, but causes some kind of blur when moving, especially on lower framerates, all the other settings completely break my shadow fix (haven't investigated why yet). I think there must be some effects working off an old frame or something - I've lined up the shadows with the ground, but as I move forward they appear to be slightly under the ground and as I move backwards they appear to hover slightly above the ground. It's not game-breaking, just weird. Not FOV related either - I can set the slider to anything and the shadows still work.[/quote] I'm not up on this game (because I don't have it), but have you tried different profiles for the one eye effect? Lords of the Fallen has this issue if no profile is used (if I remember correctly) and its' own profile resolves it. This is also one of the profiles that makes DAI render correctly in SLI. Might be worth giving it a try, or some other profiles. **EDIT I forgot to mention that I have a similar issue right now with Plants vs Zombies. Using it's own profile the stereo shift *for every effect* is always to the left, whether it be the left or right eye. The effect of this is that effects that were at screen depth (most of them) stay at screen depth but offset to the left. Using the AC4 profile fixes this issue. I've had this before with other games too. It would be great to know what it is in the nvidia profiles that either (a) causes this in the original profile or (b) corrects it in the AC4 profile. But for now it works.
DarkStarSword said:
Pirateguybrush said:Nice, hope you succeed!

How are you finding performance in 3D? I just took a quick look and found 3D really hurt my performance (at mostly max settings), is it okay on medium settings?
Subjectively performance seems better than I expected, but I haven't measured it yet or engaged in any serious firefights (just using the grenade launcher whenever a pack of wild dogs decides to interrupt my shader hunting). I'll turn on a FPS monitor today and get some numbers.

The screenshot I posted yesterday was on low quality. I can run it much higher - I was messing around with different settings and clear forgot I had it on low when I took that. My shadow fix currently works on Low, Medium and High - I haven't looked at higher settings yet (and soft shadows uses a 10,000+ line shader with 1,000+ broken lines due to decompile errors), since fixing this fog issue is top priority as it will be the deciding factor in whether this game is fixable or not.

Assuming I can get past this game-breaking fog issue (which I now believe is being caused by a mono depth buffer, which is also causing a one-eye halo on the water), I might need you to help me test SLI.

ronrebell said:Tested @ 3D Surround @ CM Mode.

3D quality is ok for CM Mode @ driver 347.09
I tried CM on 347.09, which looks pretty good in this game, but the halos around the weapon sights is a major deal breaker for it since you can't see what your aiming at half the time. I've rolled back to 344.75 after discovering that screenshots on 3dvisionlive seems to be broken (mono) on 347.09.

I left native 5760*1080 @ low details to 4800*900 @ ultra, antialising off.
With antialising on I got shadow issues, flickering and sometimes a strange double (shadow) picture. And AA kills the performance @ 3D Surround.
Antialiasing is weird in this game - SMAA works in real 3D, but causes some kind of blur when moving, especially on lower framerates, all the other settings completely break my shadow fix (haven't investigated why yet).

I think there must be some effects working off an old frame or something - I've lined up the shadows with the ground, but as I move forward they appear to be slightly under the ground and as I move backwards they appear to hover slightly above the ground. It's not game-breaking, just weird. Not FOV related either - I can set the slider to anything and the shadows still work.

I'm not up on this game (because I don't have it), but have you tried different profiles for the one eye effect? Lords of the Fallen has this issue if no profile is used (if I remember correctly) and its' own profile resolves it. This is also one of the profiles that makes DAI render correctly in SLI. Might be worth giving it a try, or some other profiles.

**EDIT I forgot to mention that I have a similar issue right now with Plants vs Zombies. Using it's own profile the stereo shift *for every effect* is always to the left, whether it be the left or right eye. The effect of this is that effects that were at screen depth (most of them) stay at screen depth but offset to the left. Using the AC4 profile fixes this issue. I've had this before with other games too. It would be great to know what it is in the nvidia profiles that either (a) causes this in the original profile or (b) corrects it in the AC4 profile. But for now it works.

Rig: Intel i7-8700K @4.7GHz, 16Gb Ram, SSD, GTX 1080Ti, Win10x64, Asus VG278

#79
Posted 12/30/2014 02:05 AM   
Unfortunately no amount of playing around with profiles has helped solve the issue in Far Cry 4, but maybe I just haven't hit upon the right profile yet :( In terms of what part of the profile is likely to contribute, I'd bet it is one of these - these are the settings for Lords of the Fallen and Assassins Creed 4, which both have the same values for each of these (AC4 has a few other unknown values I haven't investigated yet): [code] 0x701EB457 = 0x2241AB21 (unknown) 0x709A1DDF = 0x4B1CD968 (This is "StereoCutoff") 0x70EDB381 = 0x24208B6C (This is "StereoTextureEnable")[/code] The only thing I know for sure about the unknown setting is that it's existance in a DX9 profile allows 3D in windowed mode, but I have no idea what each of the individual bits do, but from looking at the driver they are definitely doing something stereo related. I don't know what StereoCutoff does (there's also StereoCutoffDepthNear and far, which are a bit more self-explanatory), but the name would imply that it can affect what elements get stereoised, so it may be relevant. StereoTextureEnable seems to be responsible for defining which types of surfaces/render targets get stereoised, and which are mono, so this is a prime suspect. Chiri worked out what some of the bits do: [url]https://forums.geforce.com/default/topic/506784/3d-vision/l-a-noire-official-3d-vision-thread/post/3613599/#3613599[/url] No idea what the higher bits are for, but if I set the whole value to 0xffffffff everything is in mono, so I suspect that some of the bits may be used to exclude certain render targets. So far I haven't had any luck trying different values here, but I haven't exhausted all combinations yet. Back to the immediate problem at hand, here's an exaggerated high convergence screenshot that demonstrates what I believe to be the cause of this fog issue (if the 3D is confusing try alternating between 2D L/R): http://photos.3dvisionlive.com/DarkStarSword/image/54a3680ed475fe4603000050/ For this screenshot I have replaced the water surface pixel shader with this so that it draws the sampled depth instead of the water (I'm concentrating on the water because I firmly believe it has the same cause as the fog, but is much easier to see - note that the fog glitch in the left eye perfectly lines up with the shoreline depth rendered in the water): [code] float4 r7.xy = v6.xy / v6.zz; float depth = DepthVPSampler__TexObj__.SampleLevel(DepthVPSampler__SampObj___s, r7.xy, 0.000000000e+000).x; o0.xyz = depth * 8; o0.w = 0; return; [/code] Original shader here: http://darkstarsword.net/7cfd56339dc6bb2a-ps_replace.txt I've also fixed an issue in the corresponding vertex shader, which affects the v6 input: https://github.com/DarkStarSword/3d-fixes/commit/6dfa47857264a6b6f8ba29555d928d6373b8b44f I've set the convergence too high to give the gun a distinct shape in each eye, so that it's easy to tell which eye the halo is from - and it's quite clear that the outline of the gun in the left eye matches the shape of the gun from the right eye, so for whatever reason both eyes are sampling the depth texture from the right eye. The right eye is perfectly lined up, as can clearly be seen on the underside of the boat. One interesting thing to note is that I have been able to fix the shadows (though I realise my math is only correct for the default convergence in the game profile, but I'll worry about that later), which also gets the pixel depth from DepthVPSampler and do seem to be correct in both eyes: https://github.com/DarkStarSword/3d-fixes/blob/390674e7dd995c27e154fd722b4c59a4856ef967/Far%20Cry%204/ShaderFixes/149c09dd3792cebb-ps_replace.txt As I see it I have a few options to explore: - Replace the depth sampler where it is used for water/fog with a different depth source. No idea how to do this - I'm going to take a look at the ZRepair stuff 3Dmigoto has to see if that can help, or is there another way to get the depth in DX11? - Try to determine why the depth sampler seems to be for the wrong eye in these cases and find a way to fix it. I'm currently exploring the possibility of adding extra logging to 3DMigoto to try to help track this down. Any other suggestions Mike?
Unfortunately no amount of playing around with profiles has helped solve the issue in Far Cry 4, but maybe I just haven't hit upon the right profile yet :(

In terms of what part of the profile is likely to contribute, I'd bet it is one of these - these are the settings for Lords of the Fallen and Assassins Creed 4, which both have the same values for each of these (AC4 has a few other unknown values I haven't investigated yet):

0x701EB457 = 0x2241AB21 (unknown)
0x709A1DDF = 0x4B1CD968 (This is "StereoCutoff")
0x70EDB381 = 0x24208B6C (This is "StereoTextureEnable")

The only thing I know for sure about the unknown setting is that it's existance in a DX9 profile allows 3D in windowed mode, but I have no idea what each of the individual bits do, but from looking at the driver they are definitely doing something stereo related.

I don't know what StereoCutoff does (there's also StereoCutoffDepthNear and far, which are a bit more self-explanatory), but the name would imply that it can affect what elements get stereoised, so it may be relevant.

StereoTextureEnable seems to be responsible for defining which types of surfaces/render targets get stereoised, and which are mono, so this is a prime suspect. Chiri worked out what some of the bits do:

https://forums.geforce.com/default/topic/506784/3d-vision/l-a-noire-official-3d-vision-thread/post/3613599/#3613599

No idea what the higher bits are for, but if I set the whole value to 0xffffffff everything is in mono, so I suspect that some of the bits may be used to exclude certain render targets. So far I haven't had any luck trying different values here, but I haven't exhausted all combinations yet.


Back to the immediate problem at hand, here's an exaggerated high convergence screenshot that demonstrates what I believe to be the cause of this fog issue (if the 3D is confusing try alternating between 2D L/R):
http://photos.3dvisionlive.com/DarkStarSword/image/54a3680ed475fe4603000050/

For this screenshot I have replaced the water surface pixel shader with this so that it draws the sampled depth instead of the water (I'm concentrating on the water because I firmly believe it has the same cause as the fog, but is much easier to see - note that the fog glitch in the left eye perfectly lines up with the shoreline depth rendered in the water):

float4 r7.xy = v6.xy / v6.zz;
float depth = DepthVPSampler__TexObj__.SampleLevel(DepthVPSampler__SampObj___s, r7.xy, 0.000000000e+000).x;
o0.xyz = depth * 8;
o0.w = 0;
return;

Original shader here: http://darkstarsword.net/7cfd56339dc6bb2a-ps_replace.txt
I've also fixed an issue in the corresponding vertex shader, which affects the v6 input:
https://github.com/DarkStarSword/3d-fixes/commit/6dfa47857264a6b6f8ba29555d928d6373b8b44f

I've set the convergence too high to give the gun a distinct shape in each eye, so that it's easy to tell which eye the halo is from - and it's quite clear that the outline of the gun in the left eye matches the shape of the gun from the right eye, so for whatever reason both eyes are sampling the depth texture from the right eye. The right eye is perfectly lined up, as can clearly be seen on the underside of the boat.

One interesting thing to note is that I have been able to fix the shadows (though I realise my math is only correct for the default convergence in the game profile, but I'll worry about that later), which also gets the pixel depth from DepthVPSampler and do seem to be correct in both eyes:
https://github.com/DarkStarSword/3d-fixes/blob/390674e7dd995c27e154fd722b4c59a4856ef967/Far%20Cry%204/ShaderFixes/149c09dd3792cebb-ps_replace.txt


As I see it I have a few options to explore:
- Replace the depth sampler where it is used for water/fog with a different depth source. No idea how to do this - I'm going to take a look at the ZRepair stuff 3Dmigoto has to see if that can help, or is there another way to get the depth in DX11?
- Try to determine why the depth sampler seems to be for the wrong eye in these cases and find a way to fix it. I'm currently exploring the possibility of adding extra logging to 3DMigoto to try to help track this down.

Any other suggestions Mike?

2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit

Alienware M17x R4 w/ built in 3D, Intel i7 3740QM, GTX 680m 2GB, 16GB DDR3 1600MHz RAM, Win7 64bit, 1TB SSD, 1TB HDD, 750GB HDD

Pre-release 3D fixes, shadertool.py and other goodies: http://github.com/DarkStarSword/3d-fixes
Support me on Patreon: https://www.patreon.com/DarkStarSword or PayPal: https://www.paypal.me/DarkStarSword

#80
Posted 12/31/2014 03:40 AM   
I beg to mike ar69 linkage make fix, thanks in advance
I beg to mike ar69 linkage make fix, thanks in advance

#81
Posted 12/31/2014 02:16 PM   
[quote="DarkStarSword"]Unfortunately no amount of playing around with profiles has helped solve the issue in Far Cry 4, but maybe I just haven't hit upon the right profile yet :( In terms of what part of the profile is likely to contribute, I'd bet it is one of these - these are the settings for Lords of the Fallen and Assassins Creed 4, which both have the same values for each of these (AC4 has a few other unknown values I haven't investigated yet): [code] 0x701EB457 = 0x2241AB21 (unknown) 0x709A1DDF = 0x4B1CD968 (This is "StereoCutoff") 0x70EDB381 = 0x24208B6C (This is "StereoTextureEnable")[/code] The only thing I know for sure about the unknown setting is that it's existance in a DX9 profile allows 3D in windowed mode, but I have no idea what each of the individual bits do, but from looking at the driver they are definitely doing something stereo related. I don't know what StereoCutoff does (there's also StereoCutoffDepthNear and far, which are a bit more self-explanatory), but the name would imply that it can affect what elements get stereoised, so it may be relevant. StereoTextureEnable seems to be responsible for defining which types of surfaces/render targets get stereoised, and which are mono, so this is a prime suspect. Chiri worked out what some of the bits do: [url]https://forums.geforce.com/default/topic/506784/3d-vision/l-a-noire-official-3d-vision-thread/post/3613599/#3613599[/url] No idea what the higher bits are for, but if I set the whole value to 0xffffffff everything is in mono, so I suspect that some of the bits may be used to exclude certain render targets. So far I haven't had any luck trying different values here, but I haven't exhausted all combinations yet. Back to the immediate problem at hand, here's an exaggerated high convergence screenshot that demonstrates what I believe to be the cause of this fog issue (if the 3D is confusing try alternating between 2D L/R): http://photos.3dvisionlive.com/DarkStarSword/image/54a3680ed475fe4603000050/ For this screenshot I have replaced the water surface pixel shader with this so that it draws the sampled depth instead of the water (I'm concentrating on the water because I firmly believe it has the same cause as the fog, but is much easier to see - note that the fog glitch in the left eye perfectly lines up with the shoreline depth rendered in the water): [code] float4 r7.xy = v6.xy / v6.zz; float depth = DepthVPSampler__TexObj__.SampleLevel(DepthVPSampler__SampObj___s, r7.xy, 0.000000000e+000).x; o0.xyz = depth * 8; o0.w = 0; return; [/code] Original shader here: http://darkstarsword.net/7cfd56339dc6bb2a-ps_replace.txt I've also fixed an issue in the corresponding vertex shader, which affects the v6 input: https://github.com/DarkStarSword/3d-fixes/commit/6dfa47857264a6b6f8ba29555d928d6373b8b44f I've set the convergence too high to give the gun a distinct shape in each eye, so that it's easy to tell which eye the halo is from - and it's quite clear that the outline of the gun in the left eye matches the shape of the gun from the right eye, so for whatever reason both eyes are sampling the depth texture from the right eye. The right eye is perfectly lined up, as can clearly be seen on the underside of the boat. One interesting thing to note is that I have been able to fix the shadows (though I realise my math is only correct for the default convergence in the game profile, but I'll worry about that later), which also gets the pixel depth from DepthVPSampler and do seem to be correct in both eyes: https://github.com/DarkStarSword/3d-fixes/blob/390674e7dd995c27e154fd722b4c59a4856ef967/Far%20Cry%204/ShaderFixes/149c09dd3792cebb-ps_replace.txt As I see it I have a few options to explore: - Replace the depth sampler where it is used for water/fog with a different depth source. No idea how to do this - I'm going to take a look at the ZRepair stuff 3Dmigoto has to see if that can help, or is there another way to get the depth in DX11? - Try to determine why the depth sampler seems to be for the wrong eye in these cases and find a way to fix it. I'm currently exploring the possibility of adding extra logging to 3DMigoto to try to help track this down. Any other suggestions Mike?[/quote] Hi DarkstarSword, thanks for the update. Unless I get the game it's really hard to guess, it's still 20% off so maybe I'll bite the bullet... 3DMigoto does have depth buffer that used to be always injected but we took it out because we never used it, but bo3b could put that back in. It's exposed in the same way that StereoParams and IniParams are. It was described as having z and w values in, but described w as "1/z" or something, which is not correct I don't think. Let me think more about this and get back to you. I'll look at your code as well. **EDIT OK, I am downloading the game lol...
DarkStarSword said:Unfortunately no amount of playing around with profiles has helped solve the issue in Far Cry 4, but maybe I just haven't hit upon the right profile yet :(

In terms of what part of the profile is likely to contribute, I'd bet it is one of these - these are the settings for Lords of the Fallen and Assassins Creed 4, which both have the same values for each of these (AC4 has a few other unknown values I haven't investigated yet):

0x701EB457 = 0x2241AB21 (unknown)
0x709A1DDF = 0x4B1CD968 (This is "StereoCutoff")
0x70EDB381 = 0x24208B6C (This is "StereoTextureEnable")

The only thing I know for sure about the unknown setting is that it's existance in a DX9 profile allows 3D in windowed mode, but I have no idea what each of the individual bits do, but from looking at the driver they are definitely doing something stereo related.

I don't know what StereoCutoff does (there's also StereoCutoffDepthNear and far, which are a bit more self-explanatory), but the name would imply that it can affect what elements get stereoised, so it may be relevant.

StereoTextureEnable seems to be responsible for defining which types of surfaces/render targets get stereoised, and which are mono, so this is a prime suspect. Chiri worked out what some of the bits do:

https://forums.geforce.com/default/topic/506784/3d-vision/l-a-noire-official-3d-vision-thread/post/3613599/#3613599

No idea what the higher bits are for, but if I set the whole value to 0xffffffff everything is in mono, so I suspect that some of the bits may be used to exclude certain render targets. So far I haven't had any luck trying different values here, but I haven't exhausted all combinations yet.


Back to the immediate problem at hand, here's an exaggerated high convergence screenshot that demonstrates what I believe to be the cause of this fog issue (if the 3D is confusing try alternating between 2D L/R):
http://photos.3dvisionlive.com/DarkStarSword/image/54a3680ed475fe4603000050/

For this screenshot I have replaced the water surface pixel shader with this so that it draws the sampled depth instead of the water (I'm concentrating on the water because I firmly believe it has the same cause as the fog, but is much easier to see - note that the fog glitch in the left eye perfectly lines up with the shoreline depth rendered in the water):

float4 r7.xy = v6.xy / v6.zz;
float depth = DepthVPSampler__TexObj__.SampleLevel(DepthVPSampler__SampObj___s, r7.xy, 0.000000000e+000).x;
o0.xyz = depth * 8;
o0.w = 0;
return;

Original shader here: http://darkstarsword.net/7cfd56339dc6bb2a-ps_replace.txt
I've also fixed an issue in the corresponding vertex shader, which affects the v6 input:
https://github.com/DarkStarSword/3d-fixes/commit/6dfa47857264a6b6f8ba29555d928d6373b8b44f

I've set the convergence too high to give the gun a distinct shape in each eye, so that it's easy to tell which eye the halo is from - and it's quite clear that the outline of the gun in the left eye matches the shape of the gun from the right eye, so for whatever reason both eyes are sampling the depth texture from the right eye. The right eye is perfectly lined up, as can clearly be seen on the underside of the boat.

One interesting thing to note is that I have been able to fix the shadows (though I realise my math is only correct for the default convergence in the game profile, but I'll worry about that later), which also gets the pixel depth from DepthVPSampler and do seem to be correct in both eyes:
https://github.com/DarkStarSword/3d-fixes/blob/390674e7dd995c27e154fd722b4c59a4856ef967/Far%20Cry%204/ShaderFixes/149c09dd3792cebb-ps_replace.txt


As I see it I have a few options to explore:
- Replace the depth sampler where it is used for water/fog with a different depth source. No idea how to do this - I'm going to take a look at the ZRepair stuff 3Dmigoto has to see if that can help, or is there another way to get the depth in DX11?
- Try to determine why the depth sampler seems to be for the wrong eye in these cases and find a way to fix it. I'm currently exploring the possibility of adding extra logging to 3DMigoto to try to help track this down.

Any other suggestions Mike?

Hi DarkstarSword, thanks for the update. Unless I get the game it's really hard to guess, it's still 20% off so maybe I'll bite the bullet... 3DMigoto does have depth buffer that used to be always injected but we took it out because we never used it, but bo3b could put that back in. It's exposed in the same way that StereoParams and IniParams are. It was described as having z and w values in, but described w as "1/z" or something, which is not correct I don't think. Let me think more about this and get back to you. I'll look at your code as well.

**EDIT OK, I am downloading the game lol...

Rig: Intel i7-8700K @4.7GHz, 16Gb Ram, SSD, GTX 1080Ti, Win10x64, Asus VG278

#82
Posted 12/31/2014 07:37 PM   
Thanks for looking Mike! Next time there is a game you are interested in on Steam let me know, not even with the intention of fixing it or anything, but just something you would like to play, etc. I'd love to gift a game to you or Bob as a new years, or late Christmas present. The amount of work you guys put into fixing games is amazing, and I know you guys aren't interested in donations (money) but maybe you guys would like a game, etc.
Thanks for looking Mike!

Next time there is a game you are interested in on Steam let me know, not even with the intention of fixing it or anything, but just something you would like to play, etc. I'd love to gift a game to you or Bob as a new years, or late Christmas present.

The amount of work you guys put into fixing games is amazing, and I know you guys aren't interested in donations (money) but maybe you guys would like a game, etc.

#83
Posted 12/31/2014 10:10 PM   
[quote="Conan481"]Thanks for looking Mike! Next time there is a game you are interested in on Steam let me know, not even with the intention of fixing it or anything, but just something you would like to play, etc. I'd love to gift a game to you or Bob as a new years, or late Christmas present. The amount of work you guys put into fixing games is amazing, and I know you guys aren't interested in donations (money) but maybe you guys would like a game, etc.[/quote] Thanks I might take you up on that at some point :-) Although right now there is nothing left that I want to get lol.
Conan481 said:Thanks for looking Mike!

Next time there is a game you are interested in on Steam let me know, not even with the intention of fixing it or anything, but just something you would like to play, etc. I'd love to gift a game to you or Bob as a new years, or late Christmas present.

The amount of work you guys put into fixing games is amazing, and I know you guys aren't interested in donations (money) but maybe you guys would like a game, etc.

Thanks I might take you up on that at some point :-) Although right now there is nothing left that I want to get lol.

Rig: Intel i7-8700K @4.7GHz, 16Gb Ram, SSD, GTX 1080Ti, Win10x64, Asus VG278

#84
Posted 12/31/2014 10:13 PM   
[quote]**EDIT OK, I am downloading the game lol...[/quote] Cook, thanks for all your help with this :) I might move my Far Cry 4 WIP out of my 3d-fixes repo into to the 3Dmigoto repository now that bo3b has given me commit access - might make it easier to collaborate, and keeps all the DX11 fixes in one place.
**EDIT OK, I am downloading the game lol...

Cook, thanks for all your help with this :)

I might move my Far Cry 4 WIP out of my 3d-fixes repo into to the 3Dmigoto repository now that bo3b has given me commit access - might make it easier to collaborate, and keeps all the DX11 fixes in one place.

2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit

Alienware M17x R4 w/ built in 3D, Intel i7 3740QM, GTX 680m 2GB, 16GB DDR3 1600MHz RAM, Win7 64bit, 1TB SSD, 1TB HDD, 750GB HDD

Pre-release 3D fixes, shadertool.py and other goodies: http://github.com/DarkStarSword/3d-fixes
Support me on Patreon: https://www.patreon.com/DarkStarSword or PayPal: https://www.paypal.me/DarkStarSword

#85
Posted 01/01/2015 01:26 AM   
[quote="DarkStarSword"][quote]**EDIT OK, I am downloading the game lol...[/quote] Cook, thanks for all your help with this :) I might move my Far Cry 4 WIP out of my 3d-fixes repo into to the 3Dmigoto repository now that bo3b has given me commit access - might make it easier to collaborate, and keeps all the DX11 fixes in one place.[/quote] I got as far as dumping shaders and trying to save a few by hunting - I think I saw the big one you mentioned with the decompile errors, things like "_MATRIX_THING[r13.].x" and so on ? Right now each time I start the game and pick Continue it keeps replaying the starting scene and never gets past it - my installation may be borked I don't know, but I won't get to look at it until tomorrow.
DarkStarSword said:
**EDIT OK, I am downloading the game lol...

Cook, thanks for all your help with this :)

I might move my Far Cry 4 WIP out of my 3d-fixes repo into to the 3Dmigoto repository now that bo3b has given me commit access - might make it easier to collaborate, and keeps all the DX11 fixes in one place.

I got as far as dumping shaders and trying to save a few by hunting - I think I saw the big one you mentioned with the decompile errors, things like "_MATRIX_THING[r13.].x" and so on ? Right now each time I start the game and pick Continue it keeps replaying the starting scene and never gets past it - my installation may be borked I don't know, but I won't get to look at it until tomorrow.

Rig: Intel i7-8700K @4.7GHz, 16Gb Ram, SSD, GTX 1080Ti, Win10x64, Asus VG278

#86
Posted 01/01/2015 02:15 AM   
[quote="mike_ar69"]I got as far as dumping shaders and trying to save a few by hunting - I think I saw the big one you mentioned with the decompile errors, things like "_MATRIX_THING[r13.].x" and so on ?[/quote]Yep, I've hit those decompile errors in a bunch of lighting shaders so far. Pretty straight forward to manually patch as the missing component is easy to spot in the surrounding code (it's usually a loop index), but depending on how many we run into we might need to fix the decompiler. Here's one I manually patched with those kind of decompile errors: https://github.com/bo3b/3Dmigoto/commit/031650eda92762aa2e8d73474f38b5f9c31e1973 And the outdoor shadows had other decompile issues: https://github.com/bo3b/3Dmigoto/commit/d1b641b1d2d0204633c0867d51fb0b11882a0c2e I've moved my WIP to the 3Dmigoto repository now, so if you check out the latest version you can grab what I've done so far. I've been a little distracted over the last day or so digging into the 3Dmigoto code, familiarising myself with how it works and cleaning up some of the input handling code. I've also added a new keybinding to re-enable all shaders/render targets/index buffers disabled in hunting - it's the done_hunting option in the ini, which I set it to Numpad + in the default ini. [quote]Right now each time I start the game and pick Continue it keeps replaying the starting scene and never gets past it - my installation may be borked I don't know, but I won't get to look at it until tomorrow.[/quote]Saving doesn't get enabled until you reach the first town (IIRC it shows the saving icon before then, but doesn't actually save, which is just plain stupid), so you'll need to play a little into the game to be productive here. My plan was to restart and check the intro only once I'd fixed as many issues as I could in the open world.
mike_ar69 said:I got as far as dumping shaders and trying to save a few by hunting - I think I saw the big one you mentioned with the decompile errors, things like "_MATRIX_THING[r13.].x" and so on ?
Yep, I've hit those decompile errors in a bunch of lighting shaders so far. Pretty straight forward to manually patch as the missing component is easy to spot in the surrounding code (it's usually a loop index), but depending on how many we run into we might need to fix the decompiler.

Here's one I manually patched with those kind of decompile errors:
https://github.com/bo3b/3Dmigoto/commit/031650eda92762aa2e8d73474f38b5f9c31e1973

And the outdoor shadows had other decompile issues:
https://github.com/bo3b/3Dmigoto/commit/d1b641b1d2d0204633c0867d51fb0b11882a0c2e

I've moved my WIP to the 3Dmigoto repository now, so if you check out the latest version you can grab what I've done so far. I've been a little distracted over the last day or so digging into the 3Dmigoto code, familiarising myself with how it works and cleaning up some of the input handling code. I've also added a new keybinding to re-enable all shaders/render targets/index buffers disabled in hunting - it's the done_hunting option in the ini, which I set it to Numpad + in the default ini.

Right now each time I start the game and pick Continue it keeps replaying the starting scene and never gets past it - my installation may be borked I don't know, but I won't get to look at it until tomorrow.
Saving doesn't get enabled until you reach the first town (IIRC it shows the saving icon before then, but doesn't actually save, which is just plain stupid), so you'll need to play a little into the game to be productive here. My plan was to restart and check the intro only once I'd fixed as many issues as I could in the open world.

2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit

Alienware M17x R4 w/ built in 3D, Intel i7 3740QM, GTX 680m 2GB, 16GB DDR3 1600MHz RAM, Win7 64bit, 1TB SSD, 1TB HDD, 750GB HDD

Pre-release 3D fixes, shadertool.py and other goodies: http://github.com/DarkStarSword/3d-fixes
Support me on Patreon: https://www.patreon.com/DarkStarSword or PayPal: https://www.paypal.me/DarkStarSword

#87
Posted 01/01/2015 02:39 AM   
Of course, the really big one with lots of similar decompiler issues is this one: https://github.com/bo3b/3Dmigoto/blob/master/FC4/dad3c3818c805cc3-ps_replace.txt That one seems to be responsible for the soft shadows, which I haven't tried to fix yet. My shadow fix works on low, medium and high settings with the default convergence from the game's profile and anti-aliasing disabled (or SMAA, but that causes other artefacts). I haven't looked at very high or ultra settings yet.
Of course, the really big one with lots of similar decompiler issues is this one:

https://github.com/bo3b/3Dmigoto/blob/master/FC4/dad3c3818c805cc3-ps_replace.txt


That one seems to be responsible for the soft shadows, which I haven't tried to fix yet. My shadow fix works on low, medium and high settings with the default convergence from the game's profile and anti-aliasing disabled (or SMAA, but that causes other artefacts). I haven't looked at very high or ultra settings yet.

2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit

Alienware M17x R4 w/ built in 3D, Intel i7 3740QM, GTX 680m 2GB, 16GB DDR3 1600MHz RAM, Win7 64bit, 1TB SSD, 1TB HDD, 750GB HDD

Pre-release 3D fixes, shadertool.py and other goodies: http://github.com/DarkStarSword/3d-fixes
Support me on Patreon: https://www.patreon.com/DarkStarSword or PayPal: https://www.paypal.me/DarkStarSword

#88
Posted 01/01/2015 03:55 AM   
[quote="DarkStarSword"]Of course, the really big one with lots of similar decompiler issues is this one: https://github.com/bo3b/3Dmigoto/blob/master/FC4/dad3c3818c805cc3-ps_replace.txt That one seems to be responsible for the soft shadows, which I haven't tried to fix yet. My shadow fix works on low, medium and high settings with the default convergence from the game's profile and anti-aliasing disabled (or SMAA, but that causes other artefacts). I haven't looked at very high or ultra settings yet.[/quote] I saw similar things in other shaders with the zpos4 and ztex stuff. Not sure where the heck that comes from (as a decompile issue) but they all come from things like this "sample_l_indexable(texture2darray)(float,float,float,float) r2.z, r1.xyzx, t0.yzxw, s0, l(0.000000)" so they could be manually fixed maybe. I am hoping to get a look in tomorrow (Jan 1st) but the family might have other plans for me, so we will see. Happy New Year anyway! (I've had a few champagne glasses, sory if my typing is a bit off)...
DarkStarSword said:Of course, the really big one with lots of similar decompiler issues is this one:

https://github.com/bo3b/3Dmigoto/blob/master/FC4/dad3c3818c805cc3-ps_replace.txt


That one seems to be responsible for the soft shadows, which I haven't tried to fix yet. My shadow fix works on low, medium and high settings with the default convergence from the game's profile and anti-aliasing disabled (or SMAA, but that causes other artefacts). I haven't looked at very high or ultra settings yet.

I saw similar things in other shaders with the zpos4 and ztex stuff. Not sure where the heck that comes from (as a decompile issue) but they all come from things like this "sample_l_indexable(texture2darray)(float,float,float,float) r2.z, r1.xyzx, t0.yzxw, s0, l(0.000000)" so they could be manually fixed maybe.
I am hoping to get a look in tomorrow (Jan 1st) but the family might have other plans for me, so we will see.
Happy New Year anyway! (I've had a few champagne glasses, sory if my typing is a bit off)...

Rig: Intel i7-8700K @4.7GHz, 16Gb Ram, SSD, GTX 1080Ti, Win10x64, Asus VG278

#89
Posted 01/01/2015 07:01 AM   
I might have found the depth render target hash and was able to inject it: ini: fix_ZRepair_DepthTextureHash=e9aab6b623303331 shader headers: Texture2D<float4> ZRepair : register(t126); shader body: float depth = ZRepair.Sample(DepthVPSampler__SampObj___s, r7.xy).x; (not sure how important it is to get the right sampler object for that last part - a bit of experimenting shows it mostly seems to affect interpolation and out of bounds accesses.) Problem is - for the water it seems to show the depth of the surface rather than what is beneath it, and appears to be 1 frame ahead of the rest of the scene - there's a halo of the gun that is noticably slightly in front of the gun itself when spinning the camera left or right, but it is in stereo and other than the 1 frame sync issue is correctly placed. Also, if I hunt the same render target while it's injected I do see the underwater depth (but it's frozen since the render target is disabled). Still, it might work for the fog (which I hope won't itself write to the Z buffer) - I'll experiment a bit more tomorrow. I've made 3Dmigoto log more details when marking a render target (like width, height, pixel format, etc), and was looking to make it log the same details of surfaces used by shaders when I discovered it is supposed to already do this in the shaderusage.txt (not the full details, but the hash is supposed to show), but for some reason it doesn't work on the depth texture being sampled by the water shader. I'll investigate some more tomorrow, since tracking down the hash it uses might allow us to stereoise it with a [TextureOverride1] section and wishfully thinking might fix a whole bunch of related issues (this same one-eyed halo is appearing all over the place - smoke, explosions, you name it).
I might have found the depth render target hash and was able to inject it:

ini:
fix_ZRepair_DepthTextureHash=e9aab6b623303331

shader headers:
Texture2D<float4> ZRepair : register(t126);

shader body:
float depth = ZRepair.Sample(DepthVPSampler__SampObj___s, r7.xy).x;

(not sure how important it is to get the right sampler object for that last part - a bit of experimenting shows it mostly seems to affect interpolation and out of bounds accesses.)


Problem is - for the water it seems to show the depth of the surface rather than what is beneath it, and appears to be 1 frame ahead of the rest of the scene - there's a halo of the gun that is noticably slightly in front of the gun itself when spinning the camera left or right, but it is in stereo and other than the 1 frame sync issue is correctly placed. Also, if I hunt the same render target while it's injected I do see the underwater depth (but it's frozen since the render target is disabled).

Still, it might work for the fog (which I hope won't itself write to the Z buffer) - I'll experiment a bit more tomorrow.


I've made 3Dmigoto log more details when marking a render target (like width, height, pixel format, etc), and was looking to make it log the same details of surfaces used by shaders when I discovered it is supposed to already do this in the shaderusage.txt (not the full details, but the hash is supposed to show), but for some reason it doesn't work on the depth texture being sampled by the water shader. I'll investigate some more tomorrow, since tracking down the hash it uses might allow us to stereoise it with a [TextureOverride1] section and wishfully thinking might fix a whole bunch of related issues (this same one-eyed halo is appearing all over the place - smoke, explosions, you name it).

2x Geforce GTX 980 in SLI provided by NVIDIA, i7 6700K 4GHz CPU, Asus 27" VG278HE 144Hz 3D Monitor, BenQ W1070 3D Projector, 120" Elite Screens YardMaster 2, 32GB Corsair DDR4 3200MHz RAM, Samsung 850 EVO 500G SSD, 4x750GB HDD in RAID5, Gigabyte Z170X-Gaming 7 Motherboard, Corsair Obsidian 750D Airflow Edition Case, Corsair RM850i PSU, HTC Vive, Win 10 64bit

Alienware M17x R4 w/ built in 3D, Intel i7 3740QM, GTX 680m 2GB, 16GB DDR3 1600MHz RAM, Win7 64bit, 1TB SSD, 1TB HDD, 750GB HDD

Pre-release 3D fixes, shadertool.py and other goodies: http://github.com/DarkStarSword/3d-fixes
Support me on Patreon: https://www.patreon.com/DarkStarSword or PayPal: https://www.paypal.me/DarkStarSword

#90
Posted 01/01/2015 09:46 PM   
  6 / 28    
Scroll To Top