[quote="BazzaLB"]What do people mean by "no convergence" in official patch? Its controlled by Popout in the display options is it not?[/quote]It's still pretty low even when maxing that out - when that is maxed the game is using an equivalent convergence of 60.12 on my screen (from what I'm seeing I suspect this varies by screen size), whereas with our fix you can easily push it up to 150.0 or even higher without things becoming uncomfortable.
BazzaLB said:What do people mean by "no convergence" in official patch? Its controlled by Popout in the display options is it not?
It's still pretty low even when maxing that out - when that is maxed the game is using an equivalent convergence of 60.12 on my screen (from what I'm seeing I suspect this varies by screen size), whereas with our fix you can easily push it up to 150.0 or even higher without things becoming uncomfortable.
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
I'm also having a black screen issue when starting the game with the latest patch. I was playing with compatibility mode on from a previous post, and I'm afraid that something in my 3d profile has been messed up. However, I did re-import my original 3d profile using Geforce 3D Profile Manager before running the game, and the game said it updated the profile to be compatible with its most recent patch.
I tried rebooting, verifying integrity, and installing today's new nVidia driver, to no avail.
I also changed 1 to 0 on the registry key StereoDefaultOn but it still starts the game with 3d on (and therefore a black screen). When I hit CTRL-T, after much flickering, it turns off 3d and I can see the menu. (EDIT: after deleting nvdrssel.bin, it now obeys the registry key and starts the game in 2d.)
Here's what my 3d profile says:
[code]Profile "Rise of the Tomb Raider"
ShowOn GeForce
ProfileType Application
Executable "tr2_x64_final.exe"
Executable "rottr_uap.exe"
Executable "rottr.exe"
Setting ID_0x00a06946 = 0x080000f5
Setting ID_0x1033cec2 = 0x00000002
Setting ID_0x1033dcd3 = 0x00000004
Setting ID_0x106d5cff = 0x00000000
Setting ID_0x10f9dc81 = 0x00000011
Setting ID_0x70092d4a = 0xb19c3534 InternalSettingFlag=V0
Setting ID_0x701eb457 = 0x2241ab21 InternalSettingFlag=V0
SettingString ID_0x7049c7ec = "웬ꑌ" InternalSettingFlag=V0
SettingString ID_0x704d456e = "쪯⃀쀩�㓵僡娊籲鸧瀇딃ᤤ又�빍᱁뼊襯簑謜⑈贳㱂矻粄ꖸ熫胃㖼뫨뚔ᯒ쑀냣键䭪不솘᜴ᢶ୬謷壄嫣Ͱ嚞ᛛ誸㉭跽躿桗ⶄ䂛驘윟ఢ포턭㛾뉍픺鏾몵쑂ﹺ쀸㗔鰟穋罥ᕂ䋾ᩫ榛鳆⏲꣱捄㊠揵�趢㕊뇨급毹⃬Ⳝ礪ᷦ䚽汚枸ꭙ≮舻➁ܥ浾�䭵⚙湰㿛㶭䑜鋶쫉御웟" InternalSettingFlag=V0
SettingString ID_0x7051e5f5 = "籬鸙" InternalSettingFlag=V0
Setting ID_0x708db8c5 = 0x21ca1ff1 InternalSettingFlag=V0
Setting ID_0x709a1ddf = 0x4b1cd968 InternalSettingFlag=V0
SettingString ID_0x70b5603f = "榛鳈⏙ꢗ" InternalSettingFlag=V0
Setting ID_0x70ccb5f0 = 0xddfac45d InternalSettingFlag=V0
Setting ID_0x70ccb5f0 = 0xddfac05d UserSpecified=true InternalSettingFlag=V0
Setting ID_0x70edb381 = 0x20208b6c InternalSettingFlag=V0
Setting ID_0x70f8e408 = 0x80b671f4 InternalSettingFlag=V0
EndProfile[/code]
I'm also having a black screen issue when starting the game with the latest patch. I was playing with compatibility mode on from a previous post, and I'm afraid that something in my 3d profile has been messed up. However, I did re-import my original 3d profile using Geforce 3D Profile Manager before running the game, and the game said it updated the profile to be compatible with its most recent patch.
I tried rebooting, verifying integrity, and installing today's new nVidia driver, to no avail.
I also changed 1 to 0 on the registry key StereoDefaultOn but it still starts the game with 3d on (and therefore a black screen). When I hit CTRL-T, after much flickering, it turns off 3d and I can see the menu. (EDIT: after deleting nvdrssel.bin, it now obeys the registry key and starts the game in 2d.)
Hey guys, I finally got the game (SE should thank the fixers here :-))
Now, which build should I get to try the community fixes? I see 4 builds on Steam:
604.2
610.1
616.5
623.2
Thanks!
When you select the beta and click close, it automatically downloads that version if the game is already installed. Otherwise, yes, you'll get it when you install it.
When you select the beta and click close, it automatically downloads that version if the game is already installed. Otherwise, yes, you'll get it when you install it.
[quote="Kershek"]When you select the beta and click close, it automatically downloads that version if the game is already installed. Otherwise, yes, you'll get it when you install it.[/quote]
Thanks
Kershek said:When you select the beta and click close, it automatically downloads that version if the game is already installed. Otherwise, yes, you'll get it when you install it.
Wow, I found the link to the release on helixmod. Reading through it, everything is there. Instructions for downloading old versions, the correct version, recommended settings, etc. Very good documentation!
One item got me concerned: flickering in SLI. Hope it's not too bad.
My system is similar to helixfax: 3D Surround (Asus VG278H) and SLI.
Wow, I found the link to the release on helixmod. Reading through it, everything is there. Instructions for downloading old versions, the correct version, recommended settings, etc. Very good documentation!
One item got me concerned: flickering in SLI. Hope it's not too bad.
My system is similar to helixfax: 3D Surround (Asus VG278H) and SLI.
Ok, I've got the auto crosshair sorted - there were a bunch of problems, so no wonder it wasn't working quite right :)
- SceneBuffer had bogus DepthToW values when the crosshair was being drawn, so I had to copy it from the same shader you copied the depth buffer from:
[code]
001008-ps-cb2-vs=b65139cd6130cd09-ps=3020ae9d794bc65e.txt:cb2[20].x: 1.#INF
001008-ps-cb2-vs=b65139cd6130cd09-ps=3020ae9d794bc65e.txt:cb2[20].y: -1.#INF
[/code]
- The auto crosshair code was a bit outdated and had some issues that I had fixed in other games, so I updated that
- You were calling world_z_from_depth_buffer directly, but should be calling adjust_from_depth_buffer so you get the ray tracing to position it accurately.
- Increased the minimum depth to 150 since this game uses a very large near clipping plane which would have resulted of most of the 255 samples being off-screen and the remaining granularity would have been too low to be useful.
- Added code to detect when the Z-buffer scaling went negative (which it does for valid values above 0.98 as you can clearly see on the wolfram alpha plot I posted on the previous page) and treated these as infinity.
- Multiplied adjustment by o0.w since the original W value was not 1.0
- Removed the surround factor - I don't think this should be necessary since we are still sampling around the center of the depth buffer either way, but if I'm wrong please add it back with whatever tweaks it requires.
- Added a release_delay so the crosshair doesn't snap back immediately when releasing the aim button
- NULLed out the depth buffer copy on the present call to make sure we can never use a stale version
- Added max_copies_per_frame=1 to the depth buffer and SceneBuffer copies to reduce performance costs (seemed ok here, but these can become really significant if you aren't careful)
Here's the shaders and my d3dx.ini:
[url]http://darkstarsword.net/rottr/b65139cd6130cd09-vs_replace.txt[/url]
[url]http://darkstarsword.net/rottr/d3dx.ini[/url]
Here's the diffs (with a couple of irrelevant hunks removed):
[code]
--- d3dx.ini~ 2016-03-01 12:04:30.851266500 +1100
+++ d3dx.ini 2016-03-02 15:30:09.556034000 +1100
@@ -76,6 +76,7 @@
; DO NOT CHANGE
z = 1.0
type=hold
+release_delay = 150
[KeyAimining2]
Key = VK_RBUTTON
@@ -84,6 +85,7 @@
; DO NOT CHANGE
z = 1.0
type=hold
+release_delay = 150
; Convergence presets
[KeyConvergence1]
@@ -593,6 +595,9 @@
;Map3=from 3f666666 to 0.9
[ResourceDepthBuffer]
+max_copies_per_frame=1
+[ResourceSceneBuffer]
+max_copies_per_frame=1
[ShaderOverrideShadow]
;whatever HASH of the PIxel shader that has the Depth Buffer texture
; From ON Sun Shadows
@@ -601,31 +606,39 @@
Hash=05845fdfcf6059bb
;ResourceDepthBuffer = ps-t1
ResourceDepthBuffer = oD
+ResourceSceneBuffer = ps-cb2
+analyse_options = dump_cb_txt
[ShaderOverrideCrosshair1]
;VS hash code of the HUD
Hash=b65139cd6130cd09
vs-t110 = ResourceDepthBuffer
+vs-cb13 = ResourceSceneBuffer
+analyse_options = dump_cb_txt
[ShaderOverrideCrosshair2]
;VS hash code of the HUD
Hash=2f27a12c0923a866
vs-t110 = ResourceDepthBuffer
+vs-cb13 = ResourceSceneBuffer
[ShaderOverrideCrosshair3]
;VS hash code of the HUD
Hash=c6c9a8059e7017c7
vs-t110 = ResourceDepthBuffer
+vs-cb13 = ResourceSceneBuffer
[ShaderOverrideCrosshairLaserDot]
;VS hash code of the HUD
Hash=da2b136433ed2798
vs-t110 = ResourceDepthBuffer
+vs-cb13 = ResourceSceneBuffer
[ShaderOverrideWaterReflections]
;VS hash code of the HUD
Hash=5151c6965409e536
vs-t110 = ResourceDepthBuffer
+vs-cb13 = ResourceSceneBuffer
[ShaderOverrideLensFlare]
@@ -696,4 +709,5 @@
hash=1e28ca9d738c8829
handling=skip
-
+[Present]
+ResourceDepthBuffer = null
[/code]
[code]
--- ShaderFixes/b65139cd6130cd09-vs_replace.txt~ 2016-02-20 16:21:01.995892000 +1100
+++ ShaderFixes/b65139cd6130cd09-vs_replace.txt 2016-03-02 15:28:51.316558900 +1100
@@ -23,6 +23,75 @@
}
+cbuffer SceneBuffer : register(b13)
+{
+ row_major float4x4 View : packoffset(c0);
+ row_major float4x4 ScreenMatrix : packoffset(c4);
+ float2 DepthExportScale : packoffset(c8);
+ float2 __padding0 : packoffset(c8.z);
+ float4 FogParams : packoffset(c9);
+ float3 __CameraPosition : packoffset(c10);
+ float __padding12 : packoffset(c10.w);
+ float3 CameraDirection : packoffset(c11);
+ float __padding9 : packoffset(c11.w);
+ float3 DepthFactors : packoffset(c12);
+ float __padding10 : packoffset(c12.w);
+ float3 ShadowDepthBiasAndLightType : packoffset(c13);
+ float __padding11 : packoffset(c13.w);
+ float4 SubframeViewport : packoffset(c14);
+ row_major float3x4 DepthToWorld : packoffset(c15);
+ float4 DepthToView : packoffset(c18);
+ float4 OneOverDepthToView : packoffset(c19);
+ float4 DepthToW : packoffset(c20);
+ float4 ClipPlane : packoffset(c21);
+ float2 ViewportDepthScaleOffset : packoffset(c22);
+ float2 __padding1 : packoffset(c22.z);
+ float2 ColorDOFDepthScaleOffset : packoffset(c23);
+ float2 __padding2 : packoffset(c23.z);
+ float4 TimeVector : packoffset(c24);
+ float4 FogParams2 : packoffset(c25);
+ float4 FogParams3 : packoffset(c26);
+ float3 GlobalAmbient : packoffset(c27);
+ float __padding8 : packoffset(c27.w);
+ float4 GlobalParams[16] : packoffset(c28);
+ float4 ViewToFogH : packoffset(c44);
+ float4 ScreenExtents : packoffset(c45);
+ float2 ScreenResolution : packoffset(c46);
+ float2 __padding3 : packoffset(c46.z);
+ float4 PSSMToMap1Lin : packoffset(c47);
+ float4 PSSMToMap1Const : packoffset(c48);
+ float4 PSSMToMap2Lin : packoffset(c49);
+ float4 PSSMToMap2Const : packoffset(c50);
+ float4 PSSMToMap3Lin : packoffset(c51);
+ float4 PSSMToMap3Const : packoffset(c52);
+ float4 PSSMDistances : packoffset(c53);
+ row_major float4x4 WorldToPSSM0 : packoffset(c54);
+ row_major float4x4 PrevViewProject : packoffset(c58);
+ row_major float4x4 PrevWorld : packoffset(c62);
+ row_major float4x4 ViewT : packoffset(c66);
+ float4 PSSMExtents : packoffset(c70);
+ float4 ShadowAtlasResolution : packoffset(c71);
+ float4 UnitRimData[3] : packoffset(c72);
+ float3 __CameraPositionForCorrection : packoffset(c75);
+ float __padding7 : packoffset(c75.w);
+ row_major float4x4 CameraViewProject : packoffset(c76);
+ float4 BackBufferResolution : packoffset(c80);
+ row_major float4x4 InverseProjection : packoffset(c81);
+ float4 StereoOffset : packoffset(c85);
+ row_major float4x4 Projection : packoffset(c86);
+ row_major float4x4 ViewInv : packoffset(c90);
+ float4 ColorSSAO : packoffset(c94);
+ float4 GlobalFogColor : packoffset(c95);
+ float4 VolumetricLightGlobalParams : packoffset(c96);
+ float4 SnowParams01 : packoffset(c97);
+ float4 SnowParams02 : packoffset(c98);
+ float4 SnowParams03 : packoffset(c99);
+ int SSREnabled : packoffset(c100);
+ int __padding4 : packoffset(c100.y);
+ int __padding5 : packoffset(c100.z);
+ int __padding6 : packoffset(c100.w);
+}
+
// 3Dmigoto declarations
#define cmp -
@@ -32,8 +101,12 @@
// Depth buffer copied from other shaders to this input with 3Dmigoto:
Texture2D<float4> DepthBuffer : register(t110);
-static const float near = 0.1;
-static const float far = 40000;
+// Defines the depth into the scene that ray tracing starts. There will be 255
+// points traced between this and infinity, so if the game uses a very large
+// near clipping plane it is important to set this to a reasonable value
+// otherwise the granuality will be too low. Check the convergence to get an
+// idea of what depth is where in the scene:
+static const float min_depth = 150;
float world_z_from_depth_buffer(float x, float y)
{
@@ -44,17 +117,16 @@
x = min(max((x / 2 + 0.5) * width, 0), width - 1);
y = min(max((-y / 2 + 0.5) * height, 0), height - 1);
- z = DepthBuffer.Load(int3(x, y, 0));
-
- return z * 1;
-
- if (z == 1)
- return 0;
+ z = DepthBuffer.Load(int3(x, y, 0)).x;
- // Derive world Z from depth buffer. This is a kluge since I don't know
- // the correct scaling, and the Z buffer seems to be (1 - what I expected).
- // Might be able to determine the correct way to scale it from other shaders.
- return far*near/(((1-z)*near) + (far*z));
+ // The scaling in ROTTR will go negative for valid Z Buffer values
+ // starting at z >= ~0.98, so return 0 if that happens and
+ // adjust_depth_from_depth_buffer will ignore it, effectively treating
+ // it as infinity:
+ float tmp = z * DepthToW.x + DepthToW.y;
+ if (tmp <= 0)
+ return 0;
+ return 1 / tmp;
}
float adjust_from_depth_buffer(float x, float y)
@@ -83,25 +155,25 @@
// Based on DarkStarSword's stereo crosshair code originally developed
// for Miasmata, adapted to Unity, then translated to HLSL.
- offset = (near - convergence) * separation; // Z = X offset from center
- distance = separation - offset; // Total distance to cover (separation - starting X offset)
+ offset = (min_depth - convergence) * separation; // Z = X offset from center
+ if (min_depth) // Avoid divide by 0
+ offset /= min_depth;
+ distance = separation - offset; // Total distance to cover (separation - starting X offset)
old_offset = offset;
- for (i = 0; i < 255; i++)
- {
+ for (i = 0; i < 255; i++) {
offset += distance / 255.0;
// Calculate depth for this point on the line:
w = (separation * convergence) / (separation - offset);
- sampled_w = world_z_from_depth_buffer(x, y);
- if (sampled_w == 0)
- return 0;
+ sampled_w = world_z_from_depth_buffer(x + offset, y);
// If the sampled depth is closer than the calculated depth,
// we have found something that intersects the line, so exit
- // the loop and return the last point that was not intersected:
- if (w > sampled_w)
+ // the loop and return the last point that was not intersected.
+ // ROTTR: Ignore samples where the Z scaling went negative:
+ if (sampled_w && w > sampled_w)
break;
old_offset = offset;
@@ -110,7 +182,6 @@
return old_offset;
}
-
//#include <ShaderFixes/crosshair.hlsl>
void main(
@@ -140,20 +211,15 @@
float4 stereo = StereoParams.Load(0);
float4 iniParams = IniParams.Load(0);
float4 tex_filter = IniParams.Load(int2(2,0));
- o0.x -= stereo.x * (o0.w - stereo.y);
- float temp = world_z_from_depth_buffer(0,0);
-
- float factor = 1.0;
- // Surround Mode?
- if (iniParams.w == 1.0 && iniParams.y == 1)
- factor = 3.0;
+
+ o0.x -= stereo.x * (o0.w - stereo.y);
if (tex_filter.x == 1)
{
if ((o0.x > -8000.60) && (o0.x < 8000.60) && (o0.y > -5000.60) && (o0.y < 5000.60))
{
if (iniParams.z == 1)
- o0.x += (stereo.x * (o0.w - 1.0) *temp) * factor;
+ o0.x += adjust_from_depth_buffer(0, 0) * o0.w;
else
o0.x += (stereo.x * (o0.w - 1.0) * iniParams.x);
}
@@ -257,4 +323,4 @@
// Approximately 11 instruction slots used
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
-
\ No newline at end of file
+
[/code]
- The auto crosshair code was a bit outdated and had some issues that I had fixed in other games, so I updated that
- You were calling world_z_from_depth_buffer directly, but should be calling adjust_from_depth_buffer so you get the ray tracing to position it accurately.
- Increased the minimum depth to 150 since this game uses a very large near clipping plane which would have resulted of most of the 255 samples being off-screen and the remaining granularity would have been too low to be useful.
- Added code to detect when the Z-buffer scaling went negative (which it does for valid values above 0.98 as you can clearly see on the wolfram alpha plot I posted on the previous page) and treated these as infinity.
- Multiplied adjustment by o0.w since the original W value was not 1.0
- Removed the surround factor - I don't think this should be necessary since we are still sampling around the center of the depth buffer either way, but if I'm wrong please add it back with whatever tweaks it requires.
- Added a release_delay so the crosshair doesn't snap back immediately when releasing the aim button
- NULLed out the depth buffer copy on the present call to make sure we can never use a stale version
- Added max_copies_per_frame=1 to the depth buffer and SceneBuffer copies to reduce performance costs (seemed ok here, but these can become really significant if you aren't careful)
[ResourceDepthBuffer]
+max_copies_per_frame=1
+[ResourceSceneBuffer]
+max_copies_per_frame=1
[ShaderOverrideShadow]
;whatever HASH of the PIxel shader that has the Depth Buffer texture
; From ON Sun Shadows
@@ -601,31 +606,39 @@
Hash=05845fdfcf6059bb
;ResourceDepthBuffer = ps-t1
ResourceDepthBuffer = oD
+ResourceSceneBuffer = ps-cb2
+analyse_options = dump_cb_txt
[ShaderOverrideCrosshair1]
;VS hash code of the HUD
Hash=b65139cd6130cd09
vs-t110 = ResourceDepthBuffer
+vs-cb13 = ResourceSceneBuffer
+analyse_options = dump_cb_txt
[ShaderOverrideCrosshair2]
;VS hash code of the HUD
Hash=2f27a12c0923a866
vs-t110 = ResourceDepthBuffer
+vs-cb13 = ResourceSceneBuffer
[ShaderOverrideCrosshair3]
;VS hash code of the HUD
Hash=c6c9a8059e7017c7
vs-t110 = ResourceDepthBuffer
+vs-cb13 = ResourceSceneBuffer
[ShaderOverrideCrosshairLaserDot]
;VS hash code of the HUD
Hash=da2b136433ed2798
vs-t110 = ResourceDepthBuffer
+vs-cb13 = ResourceSceneBuffer
[ShaderOverrideWaterReflections]
;VS hash code of the HUD
Hash=5151c6965409e536
vs-t110 = ResourceDepthBuffer
+vs-cb13 = ResourceSceneBuffer
// 3Dmigoto declarations
#define cmp -
@@ -32,8 +101,12 @@
// Depth buffer copied from other shaders to this input with 3Dmigoto:
Texture2D<float4> DepthBuffer : register(t110);
-static const float near = 0.1;
-static const float far = 40000;
+// Defines the depth into the scene that ray tracing starts. There will be 255
+// points traced between this and infinity, so if the game uses a very large
+// near clipping plane it is important to set this to a reasonable value
+// otherwise the granuality will be too low. Check the convergence to get an
+// idea of what depth is where in the scene:
+static const float min_depth = 150;
x = min(max((x / 2 + 0.5) * width, 0), width - 1);
y = min(max((-y / 2 + 0.5) * height, 0), height - 1);
- z = DepthBuffer.Load(int3(x, y, 0));
-
- return z * 1;
-
- if (z == 1)
- return 0;
+ z = DepthBuffer.Load(int3(x, y, 0)).x;
- // Derive world Z from depth buffer. This is a kluge since I don't know
- // the correct scaling, and the Z buffer seems to be (1 - what I expected).
- // Might be able to determine the correct way to scale it from other shaders.
- return far*near/(((1-z)*near) + (far*z));
+ // The scaling in ROTTR will go negative for valid Z Buffer values
+ // starting at z >= ~0.98, so return 0 if that happens and
+ // adjust_depth_from_depth_buffer will ignore it, effectively treating
+ // it as infinity:
+ float tmp = z * DepthToW.x + DepthToW.y;
+ if (tmp <= 0)
+ return 0;
+ return 1 / tmp;
}
float adjust_from_depth_buffer(float x, float y)
@@ -83,25 +155,25 @@
// Based on DarkStarSword's stereo crosshair code originally developed
// for Miasmata, adapted to Unity, then translated to HLSL.
- offset = (near - convergence) * separation; // Z = X offset from center
- distance = separation - offset; // Total distance to cover (separation - starting X offset)
+ offset = (min_depth - convergence) * separation; // Z = X offset from center
+ if (min_depth) // Avoid divide by 0
+ offset /= min_depth;
+ distance = separation - offset; // Total distance to cover (separation - starting X offset)
old_offset = offset;
- for (i = 0; i < 255; i++)
- {
+ for (i = 0; i < 255; i++) {
offset += distance / 255.0;
// Calculate depth for this point on the line:
w = (separation * convergence) / (separation - offset);
// If the sampled depth is closer than the calculated depth,
// we have found something that intersects the line, so exit
- // the loop and return the last point that was not intersected:
- if (w > sampled_w)
+ // the loop and return the last point that was not intersected.
+ // ROTTR: Ignore samples where the Z scaling went negative:
+ if (sampled_w && w > sampled_w)
break;
[quote="chtiblue"]Awesome DSS :)
So to test it, we just have to replace d3dx by yours and just put the "b65139cd6130cd09-vs_replace.txt" in the Shaderfixes folder?[/quote]Yep, that should be all you need to do.
I just turned off hunting and logging in my d3dx.ini, so if you already downloaded it you should grab it again.
Arf, I always have the same problem here, no dynamic crosshair: when I aim nearby object, I have doubled crosshair, and when I aim far awy, it's ok ...
When I watch with out screen, I can see that the distance between the two crosshair never changed (or 1mm) regardless what I aimed (near or far)
In Syberia location
Arf, I always have the same problem here, no dynamic crosshair: when I aim nearby object, I have doubled crosshair, and when I aim far awy, it's ok ...
When I watch with out screen, I can see that the distance between the two crosshair never changed (or 1mm) regardless what I aimed (near or far)
In Syberia location
Awesome Thanks DarkStarSword;) I will check it out when I get tonight at home;)
I was able to also dump the values last night but stopped there. I also saw an infinite there on the .y component. Which explains why the thing was completely gone and no matter what value I used to divide it would still be gone.
@chtiblue:
Hold your horses a bit;) I'll integrate it in the full fix/patch once I tested it and see if I need to do something else with it;)
Awesome Thanks DarkStarSword;) I will check it out when I get tonight at home;)
I was able to also dump the values last night but stopped there. I also saw an infinite there on the .y component. Which explains why the thing was completely gone and no matter what value I used to divide it would still be gone.
@chtiblue:
Hold your horses a bit;) I'll integrate it in the full fix/patch once I tested it and see if I need to do something else with it;)
1x Palit RTX 2080Ti Pro Gaming OC(watercooled and overclocked to hell)
3x 3D Vision Ready Asus VG278HE monitors (5760x1080).
Intel i9 9900K (overclocked to 5.3 and watercooled ofc).
Asus Maximus XI Hero Mobo.
16 GB Team Group T-Force Dark Pro DDR4 @ 3600.
Lots of Disks:
- Raid 0 - 256GB Sandisk Extreme SSD.
- Raid 0 - WD Black - 2TB.
- SanDisk SSD PLUS 480 GB.
- Intel 760p 256GB M.2 PCIe NVMe SSD.
Creative Sound Blaster Z.
Windows 10 x64 Pro.
etc
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
I tried rebooting, verifying integrity, and installing today's new nVidia driver, to no avail.
I also changed 1 to 0 on the registry key StereoDefaultOn but it still starts the game with 3d on (and therefore a black screen). When I hit CTRL-T, after much flickering, it turns off 3d and I can see the menu. (EDIT: after deleting nvdrssel.bin, it now obeys the registry key and starts the game in 2d.)
Here's what my 3d profile says:
Now, which build should I get to try the community fixes? I see 4 builds on Steam:
604.2
610.1
616.5
623.2
Thanks!
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
Once I select that build, do I just install the game normally and it will install the correct one?
Thanks
Thanks
One item got me concerned: flickering in SLI. Hope it's not too bad.
My system is similar to helixfax: 3D Surround (Asus VG278H) and SLI.
- SceneBuffer had bogus DepthToW values when the crosshair was being drawn, so I had to copy it from the same shader you copied the depth buffer from:
- The auto crosshair code was a bit outdated and had some issues that I had fixed in other games, so I updated that
- You were calling world_z_from_depth_buffer directly, but should be calling adjust_from_depth_buffer so you get the ray tracing to position it accurately.
- Increased the minimum depth to 150 since this game uses a very large near clipping plane which would have resulted of most of the 255 samples being off-screen and the remaining granularity would have been too low to be useful.
- Added code to detect when the Z-buffer scaling went negative (which it does for valid values above 0.98 as you can clearly see on the wolfram alpha plot I posted on the previous page) and treated these as infinity.
- Multiplied adjustment by o0.w since the original W value was not 1.0
- Removed the surround factor - I don't think this should be necessary since we are still sampling around the center of the depth buffer either way, but if I'm wrong please add it back with whatever tweaks it requires.
- Added a release_delay so the crosshair doesn't snap back immediately when releasing the aim button
- NULLed out the depth buffer copy on the present call to make sure we can never use a stale version
- Added max_copies_per_frame=1 to the depth buffer and SceneBuffer copies to reduce performance costs (seemed ok here, but these can become really significant if you aren't careful)
Here's the shaders and my d3dx.ini:
http://darkstarsword.net/rottr/b65139cd6130cd09-vs_replace.txt
http://darkstarsword.net/rottr/d3dx.ini
Here's the diffs (with a couple of irrelevant hunks removed):
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
So to test it, we just have to replace d3dx by yours and just put the "b65139cd6130cd09-vs_replace.txt" in the Shaderfixes folder?
http://photos.3dvisionlive.com/chtiblue/album/530b52d4cb85770d6e000049/3Dvision with 49" Philips 49PUS7100 interlieved 3D (3840x2160) overide mode, GTX 1080 GFA2 EXOC, core i5 @4.3GHz, 16Gb@2130, windows 7&10 64bit, Dolby Atmos 5.1.4 Marantz 6010 AVR
I just turned off hunting and logging in my d3dx.ini, so if you already downloaded it you should grab it again.
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
http://photos.3dvisionlive.com/chtiblue/album/530b52d4cb85770d6e000049/3Dvision with 49" Philips 49PUS7100 interlieved 3D (3840x2160) overide mode, GTX 1080 GFA2 EXOC, core i5 @4.3GHz, 16Gb@2130, windows 7&10 64bit, Dolby Atmos 5.1.4 Marantz 6010 AVR
When I watch with out screen, I can see that the distance between the two crosshair never changed (or 1mm) regardless what I aimed (near or far)
In Syberia location
http://photos.3dvisionlive.com/chtiblue/album/530b52d4cb85770d6e000049/3Dvision with 49" Philips 49PUS7100 interlieved 3D (3840x2160) overide mode, GTX 1080 GFA2 EXOC, core i5 @4.3GHz, 16Gb@2130, windows 7&10 64bit, Dolby Atmos 5.1.4 Marantz 6010 AVR
I was able to also dump the values last night but stopped there. I also saw an infinite there on the .y component. Which explains why the thing was completely gone and no matter what value I used to divide it would still be gone.
@chtiblue:
Hold your horses a bit;) I'll integrate it in the full fix/patch once I tested it and see if I need to do something else with it;)
1x Palit RTX 2080Ti Pro Gaming OC(watercooled and overclocked to hell)
3x 3D Vision Ready Asus VG278HE monitors (5760x1080).
Intel i9 9900K (overclocked to 5.3 and watercooled ofc).
Asus Maximus XI Hero Mobo.
16 GB Team Group T-Force Dark Pro DDR4 @ 3600.
Lots of Disks:
- Raid 0 - 256GB Sandisk Extreme SSD.
- Raid 0 - WD Black - 2TB.
- SanDisk SSD PLUS 480 GB.
- Intel 760p 256GB M.2 PCIe NVMe SSD.
Creative Sound Blaster Z.
Windows 10 x64 Pro.
etc
My website with my fixes and OpenGL to 3D Vision wrapper:
http://3dsurroundgaming.com
(If you like some of the stuff that I've done and want to donate something, you can do it with PayPal at tavyhome@gmail.com)