Trackmania Turbo
  1 / 2    
Has anyone tried Trackmania Turbo? Big disappointment here. They seem to have removed all stereoscopic options... What a shame. Did anyone else try it?
Has anyone tried Trackmania Turbo?
Big disappointment here.
They seem to have removed all stereoscopic options...
What a shame.
Did anyone else try it?

#1
Posted 03/24/2016 09:23 PM   
OK, I don't know what happened, but after restarting, changing some settings etc, 3D eventually kicked in. And it is awesome! 3D Vision Ready.
OK, I don't know what happened, but after restarting, changing some settings etc, 3D eventually kicked in.
And it is awesome!
3D Vision Ready.

#2
Posted 03/24/2016 10:32 PM   
3D Vision ready ? rly ? great, tnx !
3D Vision ready ? rly ? great, tnx !

#3
Posted 03/25/2016 07:00 AM   
[quote="KlausFly"]OK, I don't know what happened, but after restarting, changing some settings etc, 3D eventually kicked in. And it is awesome! 3D Vision Ready. [/quote] Can you post some screenshots ?
KlausFly said:OK, I don't know what happened, but after restarting, changing some settings etc, 3D eventually kicked in.
And it is awesome!
3D Vision Ready.

Can you post some screenshots ?
No official 3dvision profile yet, but so far I would say it is flawless. Only annoying thing is the loss of depth, when you get forced into first person view, doing a looping. Interestingly this has been the same with Trackmania 2.
No official 3dvision profile yet, but so far I would say it is flawless.
Only annoying thing is the loss of depth, when you get forced into first person view, doing a looping.
Interestingly this has been the same with Trackmania 2.

#5
Posted 03/25/2016 12:13 PM   
so it's not 3D Vision ready...
so it's not 3D Vision ready...

#6
Posted 03/25/2016 01:32 PM   
[quote="mistersvin"]so it's not 3D Vision ready...[/quote] I don't see the difference for me? Who cares if nvidia declares it 3dvision-ready, as long as it behaves like a 3d vision ready experience?
mistersvin said:so it's not 3D Vision ready...


I don't see the difference for me?
Who cares if nvidia declares it 3dvision-ready, as long as it behaves like a 3d vision ready experience?

#7
Posted 03/25/2016 01:55 PM   
me too, but just don't call it "3d vision ready", since it means devs have provided it. btw could you post some screenshots ?
me too, but just don't call it "3d vision ready", since it means devs have provided it.
btw could you post some screenshots ?

#8
Posted 03/25/2016 04:01 PM   
yes, can you please post some picture. Just to make sure how it looks before purchasing. Might also be CM...
yes, can you please post some picture. Just to make sure how it looks before purchasing. Might also be CM...

Intel Core i7-3820, 4 X 3,60 GHz overclocked to 4,50 GHz ; EVGA Titan X 12VRAM ; 16 GB Corsair Vengeance DDR-1600 (4x 4 GB) ; Asus VG278H 27-inch incl. 3D vision 2 glasses, integrated transmitter ; Xbox One Elite wireless controller ; Windows 10HTC VIVE 2,5 m2 roomscale3D VISION GAMERS - VISIT ME ON STEAM and feel free to add me: http://steamcommunity.com/profiles/76561198064106555 YOUTUBE: https://www.youtube.com/channel/UC1UE5TPoF0HX0HVpF_E4uPQ STEAM CURATOR: https://store.steampowered.com/curator/33611530-Streaming-Deluxe/ Image

#9
Posted 03/26/2016 01:32 PM   
The game is using an in-game 3D renderer (real 3D, not fake). Water reflections are screen depth. Also, it's convergence locked and the convergence is set really high when you begin the race. Higher than 15% depth is uncomfortable. 15% depth: [img]https://forums.geforce.com/cmd/default/download-comment-attachment/68795/[/img] When you change the camera mode, the convergence suddenly changes and becomes too low. I used 3Dmigoto to quickly cycle depth values. 100% depth: [img]https://forums.geforce.com/cmd/default/download-comment-attachment/68796/[/img] If I disable the in-game renderer using 3Dmigoto, shadows are screen depth & water reflections are incorrect. I experimented a bit, but I'm unable to fix the shadows. Edit: BTW, here's the pixel shader, if anyone's interested: [code]//shadows // ---- Created with 3Dmigoto v1.2.35 on Sat Mar 26 12:24:48 2016 cbuffer SceneP : register(b13) { float4 GbxP3Fog_LinearRGB : packoffset(c0); float4x3 GbxP3WorldToCamera : packoffset(c1); float4 GbxP3EyeInWorld : packoffset(c4); float4 GbxP3CameraPrRangeW : packoffset(c5); float4 GbxP3RasterPos_SxyTwz_TexCoord : packoffset(c6); float4 GbxP3RasterFaceSign_Alpha01Ref : packoffset(c7); float4 GbxP3LightAmbientLinear : packoffset(c8); float4 GbxP3LightDirRgbLinear0 : packoffset(c9); float4 GbxP3LightDirDirInWorld0 : packoffset(c10); float4 GbxP3LightGenPHdrScale_SelfIllumScale_SpecMaxExp_SpecScale : packoffset(c11); float4 GbxP3LocalSpecularScale_ScaleExp : packoffset(c12); float4 GbxP3TmFilmCurve_A_B_BC_OutScale : packoffset(c13); float4 GbxP3TmFilmCurve_DE_DF_EoverF : packoffset(c14); float4 GbxP3TmAutoExposureUV : packoffset(c15); float4 GbxP3T3HdrScales_Block_Particle_Player : packoffset(c16); float4 GbxP3CloudsX2minRGB_Half : packoffset(c17); float4 GbxP3CloudsX2maxRGB_FREE : packoffset(c18); float4 GbxP3LmComputeScaleNoAcc : packoffset(c19); float4x3 GbxP3Projector_EyePz01 : packoffset(c20); float4 GbxP3Projector_PosInEye : packoffset(c23); float4 GbxP3Projector_Rgb : packoffset(c24); float4 GbxP3TexelSxyTwzUV_LightPosIRad : packoffset(c25); float4 GbxP3TexelSizeUVW_Half_LightList : packoffset(c26); float4 GbxP4DayTime : packoffset(c27); float4 GbxP4WorldToWaterDepth : packoffset(c28); float4 GbxP4WorldToWaterFrac : packoffset(c29); float4 GbxP4WaterDepthMax_yInv_FracST : packoffset(c30); bool GbxP4OutputIsLinear : packoffset(c31); bool GbxP3ToneMapInShader : packoffset(c31.y); bool GbxP3LmBumpTxTyTz : packoffset(c31.z); } cbuffer ShaderP : register(b0) { float4 PCameraZ_Min_Max_MaxInv_MaxSubMin : packoffset(c0) = {0,0,0,0}; float4 LinearizeDepthST_NormalizeZ : packoffset(c1) = {0,0,0,0}; float4 ZcTransTcShadows[6] : packoffset(c2); float4 ZcScaleTcShadows_LeftTop[6] : packoffset(c8); float4 ZcScaleTcShadows_LeftRight[6] : packoffset(c14); float4 ZcScaleTcShadows_TopBottom[6] : packoffset(c20); float4 SplitZcMax4s[2] : packoffset(c26); float4 ZcStWeights[3] : packoffset(c28); float3 SplitTcMins[5] : packoffset(c31); float3 SplitTcMaxs[5] : packoffset(c36); float2 DbgMapperTexelCount_Mode : packoffset(c41) = {16,0}; } SamplerState SMapDepth_s : register(s0); SamplerComparisonState SMapStaticShadow0_s : register(s1); SamplerComparisonState SMapPSplitShadow1_s : register(s2); SamplerComparisonState SMapStaticSprite_s : register(s3); Texture2D<float4> TMapDepth : register(t0); Texture2D<float4> TMapStaticShadow0 : register(t1); Texture2D<float4> TMapPSplitShadow1 : register(t2); Texture2D<float4> TMapStaticSprite : register(t3); // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); void main( float4 v0 : SV_Position0, out float4 o0 : SV_Target0) { float4 r0,r1,r2,r3,r4,r5; uint4 bitmask, uiDest; float4 fDest; r0.xy = GbxP3RasterPos_SxyTwz_TexCoord.xy * v0.xy + GbxP3RasterPos_SxyTwz_TexCoord.wz; r0.x = TMapDepth.Sample(SMapDepth_s, r0.xy).x; r0.x = PCameraZ_Min_Max_MaxInv_MaxSubMin.w * r0.x + PCameraZ_Min_Max_MaxInv_MaxSubMin.x; r0.yz = GbxP3RasterPos_SxyTwz_TexCoord.xy * v0.xy; r1.xyz = ZcScaleTcShadows_LeftRight[1].xyz * r0.yyy + ZcScaleTcShadows_LeftTop[1].xyz; r1.xyz = ZcScaleTcShadows_TopBottom[1].xyz * r0.zzz + r1.xyz; r1.xyz = r0.xxx * r1.xyz + ZcTransTcShadows[1].xyz; r2.xyz = -SplitTcMins[0].xyz + r1.xyz; r3.xyz = SplitTcMaxs[0].xyz + -r1.xyz; r2.xyz = r3.xyz * r2.xyz; r2.xyz = cmp(float3(0,0,0) < r2.xyz); r2.xyz = r2.xyz ? 1.000000 : 0; r0.w = r2.x * r2.y; r1.w = r0.w * r2.z; r0.w = -r0.w * r2.z + 1; r2.xyz = ZcScaleTcShadows_LeftRight[0].xyz * r0.yyy + ZcScaleTcShadows_LeftTop[0].xyz; r2.xyz = ZcScaleTcShadows_TopBottom[0].xyz * r0.zzz + r2.xyz; r2.xyz = r0.xxx * r2.xyz + ZcTransTcShadows[0].xyz; r1.xyz = -r2.xyz + r1.xyz; r1.xyz = r1.www * r1.xyz + r2.xyz; r3.xyz = ZcScaleTcShadows_LeftRight[2].xyz * r0.yyy + ZcScaleTcShadows_LeftTop[2].xyz; r3.xyz = ZcScaleTcShadows_TopBottom[2].xyz * r0.zzz + r3.xyz; r3.xyz = r0.xxx * r3.xyz + ZcTransTcShadows[2].xyz; r4.xyz = r3.xyz + -r1.xyz; r5.xyz = -SplitTcMins[1].xyz + r3.xyz; r3.xyz = SplitTcMaxs[1].xyz + -r3.xyz; r3.xyz = r5.xyz * r3.xyz; r3.xyz = cmp(float3(0,0,0) < r3.xyz); r3.xyz = r3.xyz ? 1.000000 : 0; r2.w = r3.x * r3.y; r2.w = r2.w * r3.z; r1.xyz = r2.www * r4.xyz + r1.xyz; r0.w = r2.w * r0.w + r1.w; r3.xyz = ZcScaleTcShadows_LeftRight[3].xyz * r0.yyy + ZcScaleTcShadows_LeftTop[3].xyz; r3.xyz = ZcScaleTcShadows_TopBottom[3].xyz * r0.zzz + r3.xyz; r3.xyz = r0.xxx * r3.xyz + ZcTransTcShadows[3].xyz; r4.xyz = r3.xyz + -r1.xyz; r5.xyz = -SplitTcMins[2].xyz + r3.xyz; r3.xyz = SplitTcMaxs[2].xyz + -r3.xyz; r3.xyz = r5.xyz * r3.xyz; r3.xyz = cmp(float3(0,0,0) < r3.xyz); r3.xyz = r3.xyz ? 1.000000 : 0; r1.w = r3.x * r3.y; r1.w = r1.w * r3.z; r1.xyz = r1.www * r4.xyz + r1.xyz; r3.xyz = ZcScaleTcShadows_LeftRight[4].xyz * r0.yyy + ZcScaleTcShadows_LeftTop[4].xyz; r3.xyz = ZcScaleTcShadows_TopBottom[4].xyz * r0.zzz + r3.xyz; r3.xyz = r0.xxx * r3.xyz + ZcTransTcShadows[4].xyz; r4.xyz = r3.xyz + -r1.xyz; r5.xyz = -SplitTcMins[3].xyz + r3.xyz; r3.xyz = SplitTcMaxs[3].xyz + -r3.xyz; r3.xyz = r5.xyz * r3.xyz; r3.xyz = cmp(float3(0,0,0) < r3.xyz); r3.xyz = r3.xyz ? 1.000000 : 0; r2.w = r3.x * r3.y; r2.w = r2.w * r3.z; r1.xyz = r2.www * r4.xyz + r1.xyz; r3.xyz = ZcScaleTcShadows_LeftRight[5].xyz * r0.yyy + ZcScaleTcShadows_LeftTop[5].xyz; r3.xyz = ZcScaleTcShadows_TopBottom[5].xyz * r0.zzz + r3.xyz; r0.xyz = r0.xxx * r3.xyz + ZcTransTcShadows[5].xyz; r3.xyz = r0.xyz + -r1.xyz; r4.xyz = -SplitTcMins[4].xyz + r0.xyz; r0.xyz = SplitTcMaxs[4].xyz + -r0.xyz; r0.xyz = r4.xyz * r0.xyz; r0.xyz = cmp(float3(0,0,0) < r0.xyz); r0.xyz = r0.xyz ? 1.000000 : 0; r0.x = r0.x * r0.y; r0.x = r0.x * r0.z; r1.xyz = r0.xxx * r3.xyz + r1.xyz; r0.y = TMapPSplitShadow1.SampleCmpLevelZero(SMapPSplitShadow1_s, r1.xy, r1.z).x; r0.z = TMapStaticSprite.SampleCmpLevelZero(SMapStaticSprite_s, r2.xy, r2.z).x; r1.x = TMapStaticShadow0.SampleCmpLevelZero(SMapStaticShadow0_s, r2.xy, r2.z).x; r0.y = r0.y * r0.z + -r1.x; r0.z = 1 + -r0.w; r0.z = r1.w * r0.z + r0.w; r0.w = 1 + -r0.z; r0.z = r2.w * r0.w + r0.z; r0.w = 1 + -r0.z; r0.x = r0.x * r0.w + r0.z; o0.xyzw = r0.xxxx * r0.yyyy + r1.xxxx; return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 // // using 3Dmigoto v1.2.35 on Sat Mar 26 12:24:48 2016 // // // Buffer Definitions: // // cbuffer SceneP // { // // float4 GbxP3Fog_LinearRGB; // Offset: 0 Size: 16 [unused] // float4x3 GbxP3WorldToCamera; // Offset: 16 Size: 48 [unused] // float4 GbxP3EyeInWorld; // Offset: 64 Size: 16 [unused] // float4 GbxP3CameraPrRangeW; // Offset: 80 Size: 16 [unused] // float4 GbxP3RasterPos_SxyTwz_TexCoord;// Offset: 96 Size: 16 // float4 GbxP3RasterFaceSign_Alpha01Ref;// Offset: 112 Size: 16 [unused] // float4 GbxP3LightAmbientLinear; // Offset: 128 Size: 16 [unused] // float4 GbxP3LightDirRgbLinear0; // Offset: 144 Size: 16 [unused] // float4 GbxP3LightDirDirInWorld0; // Offset: 160 Size: 16 [unused] // float4 GbxP3LightGenPHdrScale_SelfIllumScale_SpecMaxExp_SpecScale;// Offset: 176 Size: 16 [unused] // float4 GbxP3LocalSpecularScale_ScaleExp;// Offset: 192 Size: 16 [unused] // float4 GbxP3TmFilmCurve_A_B_BC_OutScale;// Offset: 208 Size: 16 [unused] // float4 GbxP3TmFilmCurve_DE_DF_EoverF;// Offset: 224 Size: 16 [unused] // float4 GbxP3TmAutoExposureUV; // Offset: 240 Size: 16 [unused] // float4 GbxP3T3HdrScales_Block_Particle_Player;// Offset: 256 Size: 16 [unused] // float4 GbxP3CloudsX2minRGB_Half; // Offset: 272 Size: 16 [unused] // float4 GbxP3CloudsX2maxRGB_FREE; // Offset: 288 Size: 16 [unused] // float4 GbxP3LmComputeScaleNoAcc; // Offset: 304 Size: 16 [unused] // float4x3 GbxP3Projector_EyePz01; // Offset: 320 Size: 48 [unused] // float4 GbxP3Projector_PosInEye; // Offset: 368 Size: 16 [unused] // float4 GbxP3Projector_Rgb; // Offset: 384 Size: 16 [unused] // float4 GbxP3TexelSxyTwzUV_LightPosIRad;// Offset: 400 Size: 16 [unused] // float4 GbxP3TexelSizeUVW_Half_LightList;// Offset: 416 Size: 16 [unused] // float4 GbxP4DayTime; // Offset: 432 Size: 16 [unused] // float4 GbxP4WorldToWaterDepth; // Offset: 448 Size: 16 [unused] // float4 GbxP4WorldToWaterFrac; // Offset: 464 Size: 16 [unused] // float4 GbxP4WaterDepthMax_yInv_FracST;// Offset: 480 Size: 16 [unused] // bool GbxP4OutputIsLinear; // Offset: 496 Size: 4 [unused] // bool GbxP3ToneMapInShader; // Offset: 500 Size: 4 [unused] // bool GbxP3LmBumpTxTyTz; // Offset: 504 Size: 4 [unused] // // } // // cbuffer ShaderP // { // // float4 PCameraZ_Min_Max_MaxInv_MaxSubMin;// Offset: 0 Size: 16 // = 0x00000000 0x00000000 0x00000000 0x00000000 // float4 LinearizeDepthST_NormalizeZ;// Offset: 16 Size: 16 [unused] // = 0x00000000 0x00000000 0x00000000 0x00000000 // float4 ZcTransTcShadows[6]; // Offset: 32 Size: 96 // float4 ZcScaleTcShadows_LeftTop[6];// Offset: 128 Size: 96 // float4 ZcScaleTcShadows_LeftRight[6];// Offset: 224 Size: 96 // float4 ZcScaleTcShadows_TopBottom[6];// Offset: 320 Size: 96 // float4 SplitZcMax4s[2]; // Offset: 416 Size: 32 [unused] // float4 ZcStWeights[3]; // Offset: 448 Size: 48 [unused] // float3 SplitTcMins[5]; // Offset: 496 Size: 76 // float3 SplitTcMaxs[5]; // Offset: 576 Size: 76 // float2 DbgMapperTexelCount_Mode; // Offset: 656 Size: 8 [unused] // = 0x41800000 0x00000000 // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // SMapDepth sampler NA NA 0 1 // SMapStaticShadow0 sampler_c NA NA 1 1 // SMapPSplitShadow1 sampler_c NA NA 2 1 // SMapStaticSprite sampler_c NA NA 3 1 // TMapDepth texture float4 2d 0 1 // TMapStaticShadow0 texture float4 2d 1 1 // TMapPSplitShadow1 texture float4 2d 2 1 // TMapStaticSprite texture float4 2d 3 1 // ShaderP cbuffer NA NA 0 1 // SceneP cbuffer NA NA 13 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Position 0 xyzw 0 POS float xy // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Target 0 xyzw 0 TARGET float xyzw // ps_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb13[7], immediateIndexed dcl_constantbuffer cb0[41], immediateIndexed dcl_sampler s0, mode_default dcl_sampler s1, mode_comparison dcl_sampler s2, mode_comparison dcl_sampler s3, mode_comparison dcl_resource_texture2d (float,float,float,float) t0 dcl_resource_texture2d (float,float,float,float) t1 dcl_resource_texture2d (float,float,float,float) t2 dcl_resource_texture2d (float,float,float,float) t3 dcl_input_ps_siv linear noperspective v0.xy, position dcl_output o0.xyzw dcl_temps 6 mad r0.xy, cb13[6].xyxx, v0.xyxx, cb13[6].wzww sample_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t0.xyzw, s0 mad r0.x, cb0[0].w, r0.x, cb0[0].x mul r0.yz, v0.xxyx, cb13[6].xxyx mad r1.xyz, cb0[15].xyzx, r0.yyyy, cb0[9].xyzx mad r1.xyz, cb0[21].xyzx, r0.zzzz, r1.xyzx mad r1.xyz, r0.xxxx, r1.xyzx, cb0[3].xyzx add r2.xyz, r1.xyzx, -cb0[31].xyzx add r3.xyz, -r1.xyzx, cb0[36].xyzx mul r2.xyz, r2.xyzx, r3.xyzx lt r2.xyz, l(0.000000, 0.000000, 0.000000, 0.000000), r2.xyzx and r2.xyz, r2.xyzx, l(0x3f800000, 0x3f800000, 0x3f800000, 0) mul r0.w, r2.y, r2.x mul r1.w, r2.z, r0.w mad r0.w, -r0.w, r2.z, l(1.000000) mad r2.xyz, cb0[14].xyzx, r0.yyyy, cb0[8].xyzx mad r2.xyz, cb0[20].xyzx, r0.zzzz, r2.xyzx mad r2.xyz, r0.xxxx, r2.xyzx, cb0[2].xyzx add r1.xyz, r1.xyzx, -r2.xyzx mad r1.xyz, r1.wwww, r1.xyzx, r2.xyzx mad r3.xyz, cb0[16].xyzx, r0.yyyy, cb0[10].xyzx mad r3.xyz, cb0[22].xyzx, r0.zzzz, r3.xyzx mad r3.xyz, r0.xxxx, r3.xyzx, cb0[4].xyzx add r4.xyz, -r1.xyzx, r3.xyzx add r5.xyz, r3.xyzx, -cb0[32].xyzx add r3.xyz, -r3.xyzx, cb0[37].xyzx mul r3.xyz, r3.xyzx, r5.xyzx lt r3.xyz, l(0.000000, 0.000000, 0.000000, 0.000000), r3.xyzx and r3.xyz, r3.xyzx, l(0x3f800000, 0x3f800000, 0x3f800000, 0) mul r2.w, r3.y, r3.x mul r2.w, r3.z, r2.w mad r1.xyz, r2.wwww, r4.xyzx, r1.xyzx mad r0.w, r2.w, r0.w, r1.w mad r3.xyz, cb0[17].xyzx, r0.yyyy, cb0[11].xyzx mad r3.xyz, cb0[23].xyzx, r0.zzzz, r3.xyzx mad r3.xyz, r0.xxxx, r3.xyzx, cb0[5].xyzx add r4.xyz, -r1.xyzx, r3.xyzx add r5.xyz, r3.xyzx, -cb0[33].xyzx add r3.xyz, -r3.xyzx, cb0[38].xyzx mul r3.xyz, r3.xyzx, r5.xyzx lt r3.xyz, l(0.000000, 0.000000, 0.000000, 0.000000), r3.xyzx and r3.xyz, r3.xyzx, l(0x3f800000, 0x3f800000, 0x3f800000, 0) mul r1.w, r3.y, r3.x mul r1.w, r3.z, r1.w mad r1.xyz, r1.wwww, r4.xyzx, r1.xyzx mad r3.xyz, cb0[18].xyzx, r0.yyyy, cb0[12].xyzx mad r3.xyz, cb0[24].xyzx, r0.zzzz, r3.xyzx mad r3.xyz, r0.xxxx, r3.xyzx, cb0[6].xyzx add r4.xyz, -r1.xyzx, r3.xyzx add r5.xyz, r3.xyzx, -cb0[34].xyzx add r3.xyz, -r3.xyzx, cb0[39].xyzx mul r3.xyz, r3.xyzx, r5.xyzx lt r3.xyz, l(0.000000, 0.000000, 0.000000, 0.000000), r3.xyzx and r3.xyz, r3.xyzx, l(0x3f800000, 0x3f800000, 0x3f800000, 0) mul r2.w, r3.y, r3.x mul r2.w, r3.z, r2.w mad r1.xyz, r2.wwww, r4.xyzx, r1.xyzx mad r3.xyz, cb0[19].xyzx, r0.yyyy, cb0[13].xyzx mad r3.xyz, cb0[25].xyzx, r0.zzzz, r3.xyzx mad r0.xyz, r0.xxxx, r3.xyzx, cb0[7].xyzx add r3.xyz, -r1.xyzx, r0.xyzx add r4.xyz, r0.xyzx, -cb0[35].xyzx add r0.xyz, -r0.xyzx, cb0[40].xyzx mul r0.xyz, r0.xyzx, r4.xyzx lt r0.xyz, l(0.000000, 0.000000, 0.000000, 0.000000), r0.xyzx and r0.xyz, r0.xyzx, l(0x3f800000, 0x3f800000, 0x3f800000, 0) mul r0.x, r0.y, r0.x mul r0.x, r0.z, r0.x mad r1.xyz, r0.xxxx, r3.xyzx, r1.xyzx sample_c_lz_indexable(texture2d)(float,float,float,float) r0.y, r1.xyxx, t2.xxxx, s2, r1.z sample_c_lz_indexable(texture2d)(float,float,float,float) r0.z, r2.xyxx, t3.xxxx, s3, r2.z sample_c_lz_indexable(texture2d)(float,float,float,float) r1.x, r2.xyxx, t1.xxxx, s1, r2.z mad r0.y, r0.y, r0.z, -r1.x add r0.z, -r0.w, l(1.000000) mad r0.z, r1.w, r0.z, r0.w add r0.w, -r0.z, l(1.000000) mad r0.z, r2.w, r0.w, r0.z add r0.w, -r0.z, l(1.000000) mad r0.x, r0.x, r0.w, r0.z mad o0.xyzw, r0.xxxx, r0.yyyy, r1.xxxx ret // Approximately 81 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code]
The game is using an in-game 3D renderer (real 3D, not fake). Water reflections are screen depth. Also, it's convergence locked and the convergence is set really high when you begin the race. Higher than 15% depth is uncomfortable.

15% depth:
Image


When you change the camera mode, the convergence suddenly changes and becomes too low. I used 3Dmigoto to quickly cycle depth values.

100% depth:
Image

If I disable the in-game renderer using 3Dmigoto, shadows are screen depth & water reflections are incorrect. I experimented a bit, but I'm unable to fix the shadows.

Edit: BTW, here's the pixel shader, if anyone's interested:
//shadows
// ---- Created with 3Dmigoto v1.2.35 on Sat Mar 26 12:24:48 2016

cbuffer SceneP : register(b13)
{
float4 GbxP3Fog_LinearRGB : packoffset(c0);
float4x3 GbxP3WorldToCamera : packoffset(c1);
float4 GbxP3EyeInWorld : packoffset(c4);
float4 GbxP3CameraPrRangeW : packoffset(c5);
float4 GbxP3RasterPos_SxyTwz_TexCoord : packoffset(c6);
float4 GbxP3RasterFaceSign_Alpha01Ref : packoffset(c7);
float4 GbxP3LightAmbientLinear : packoffset(c8);
float4 GbxP3LightDirRgbLinear0 : packoffset(c9);
float4 GbxP3LightDirDirInWorld0 : packoffset(c10);
float4 GbxP3LightGenPHdrScale_SelfIllumScale_SpecMaxExp_SpecScale : packoffset(c11);
float4 GbxP3LocalSpecularScale_ScaleExp : packoffset(c12);
float4 GbxP3TmFilmCurve_A_B_BC_OutScale : packoffset(c13);
float4 GbxP3TmFilmCurve_DE_DF_EoverF : packoffset(c14);
float4 GbxP3TmAutoExposureUV : packoffset(c15);
float4 GbxP3T3HdrScales_Block_Particle_Player : packoffset(c16);
float4 GbxP3CloudsX2minRGB_Half : packoffset(c17);
float4 GbxP3CloudsX2maxRGB_FREE : packoffset(c18);
float4 GbxP3LmComputeScaleNoAcc : packoffset(c19);
float4x3 GbxP3Projector_EyePz01 : packoffset(c20);
float4 GbxP3Projector_PosInEye : packoffset(c23);
float4 GbxP3Projector_Rgb : packoffset(c24);
float4 GbxP3TexelSxyTwzUV_LightPosIRad : packoffset(c25);
float4 GbxP3TexelSizeUVW_Half_LightList : packoffset(c26);
float4 GbxP4DayTime : packoffset(c27);
float4 GbxP4WorldToWaterDepth : packoffset(c28);
float4 GbxP4WorldToWaterFrac : packoffset(c29);
float4 GbxP4WaterDepthMax_yInv_FracST : packoffset(c30);
bool GbxP4OutputIsLinear : packoffset(c31);
bool GbxP3ToneMapInShader : packoffset(c31.y);
bool GbxP3LmBumpTxTyTz : packoffset(c31.z);
}

cbuffer ShaderP : register(b0)
{
float4 PCameraZ_Min_Max_MaxInv_MaxSubMin : packoffset(c0) = {0,0,0,0};
float4 LinearizeDepthST_NormalizeZ : packoffset(c1) = {0,0,0,0};
float4 ZcTransTcShadows[6] : packoffset(c2);
float4 ZcScaleTcShadows_LeftTop[6] : packoffset(c8);
float4 ZcScaleTcShadows_LeftRight[6] : packoffset(c14);
float4 ZcScaleTcShadows_TopBottom[6] : packoffset(c20);
float4 SplitZcMax4s[2] : packoffset(c26);
float4 ZcStWeights[3] : packoffset(c28);
float3 SplitTcMins[5] : packoffset(c31);
float3 SplitTcMaxs[5] : packoffset(c36);
float2 DbgMapperTexelCount_Mode : packoffset(c41) = {16,0};
}

SamplerState SMapDepth_s : register(s0);
SamplerComparisonState SMapStaticShadow0_s : register(s1);
SamplerComparisonState SMapPSplitShadow1_s : register(s2);
SamplerComparisonState SMapStaticSprite_s : register(s3);
Texture2D<float4> TMapDepth : register(t0);
Texture2D<float4> TMapStaticShadow0 : register(t1);
Texture2D<float4> TMapPSplitShadow1 : register(t2);
Texture2D<float4> TMapStaticSprite : register(t3);


// 3Dmigoto declarations
#define cmp -
Texture1D<float4> IniParams : register(t120);
Texture2D<float4> StereoParams : register(t125);


void main(
float4 v0 : SV_Position0,
out float4 o0 : SV_Target0)
{
float4 r0,r1,r2,r3,r4,r5;
uint4 bitmask, uiDest;
float4 fDest;

r0.xy = GbxP3RasterPos_SxyTwz_TexCoord.xy * v0.xy + GbxP3RasterPos_SxyTwz_TexCoord.wz;
r0.x = TMapDepth.Sample(SMapDepth_s, r0.xy).x;
r0.x = PCameraZ_Min_Max_MaxInv_MaxSubMin.w * r0.x + PCameraZ_Min_Max_MaxInv_MaxSubMin.x;
r0.yz = GbxP3RasterPos_SxyTwz_TexCoord.xy * v0.xy;
r1.xyz = ZcScaleTcShadows_LeftRight[1].xyz * r0.yyy + ZcScaleTcShadows_LeftTop[1].xyz;
r1.xyz = ZcScaleTcShadows_TopBottom[1].xyz * r0.zzz + r1.xyz;
r1.xyz = r0.xxx * r1.xyz + ZcTransTcShadows[1].xyz;
r2.xyz = -SplitTcMins[0].xyz + r1.xyz;
r3.xyz = SplitTcMaxs[0].xyz + -r1.xyz;
r2.xyz = r3.xyz * r2.xyz;
r2.xyz = cmp(float3(0,0,0) < r2.xyz);
r2.xyz = r2.xyz ? 1.000000 : 0;
r0.w = r2.x * r2.y;
r1.w = r0.w * r2.z;
r0.w = -r0.w * r2.z + 1;
r2.xyz = ZcScaleTcShadows_LeftRight[0].xyz * r0.yyy + ZcScaleTcShadows_LeftTop[0].xyz;
r2.xyz = ZcScaleTcShadows_TopBottom[0].xyz * r0.zzz + r2.xyz;
r2.xyz = r0.xxx * r2.xyz + ZcTransTcShadows[0].xyz;
r1.xyz = -r2.xyz + r1.xyz;
r1.xyz = r1.www * r1.xyz + r2.xyz;
r3.xyz = ZcScaleTcShadows_LeftRight[2].xyz * r0.yyy + ZcScaleTcShadows_LeftTop[2].xyz;
r3.xyz = ZcScaleTcShadows_TopBottom[2].xyz * r0.zzz + r3.xyz;
r3.xyz = r0.xxx * r3.xyz + ZcTransTcShadows[2].xyz;
r4.xyz = r3.xyz + -r1.xyz;
r5.xyz = -SplitTcMins[1].xyz + r3.xyz;
r3.xyz = SplitTcMaxs[1].xyz + -r3.xyz;
r3.xyz = r5.xyz * r3.xyz;
r3.xyz = cmp(float3(0,0,0) < r3.xyz);
r3.xyz = r3.xyz ? 1.000000 : 0;
r2.w = r3.x * r3.y;
r2.w = r2.w * r3.z;
r1.xyz = r2.www * r4.xyz + r1.xyz;
r0.w = r2.w * r0.w + r1.w;
r3.xyz = ZcScaleTcShadows_LeftRight[3].xyz * r0.yyy + ZcScaleTcShadows_LeftTop[3].xyz;
r3.xyz = ZcScaleTcShadows_TopBottom[3].xyz * r0.zzz + r3.xyz;
r3.xyz = r0.xxx * r3.xyz + ZcTransTcShadows[3].xyz;
r4.xyz = r3.xyz + -r1.xyz;
r5.xyz = -SplitTcMins[2].xyz + r3.xyz;
r3.xyz = SplitTcMaxs[2].xyz + -r3.xyz;
r3.xyz = r5.xyz * r3.xyz;
r3.xyz = cmp(float3(0,0,0) < r3.xyz);
r3.xyz = r3.xyz ? 1.000000 : 0;
r1.w = r3.x * r3.y;
r1.w = r1.w * r3.z;
r1.xyz = r1.www * r4.xyz + r1.xyz;
r3.xyz = ZcScaleTcShadows_LeftRight[4].xyz * r0.yyy + ZcScaleTcShadows_LeftTop[4].xyz;
r3.xyz = ZcScaleTcShadows_TopBottom[4].xyz * r0.zzz + r3.xyz;
r3.xyz = r0.xxx * r3.xyz + ZcTransTcShadows[4].xyz;
r4.xyz = r3.xyz + -r1.xyz;
r5.xyz = -SplitTcMins[3].xyz + r3.xyz;
r3.xyz = SplitTcMaxs[3].xyz + -r3.xyz;
r3.xyz = r5.xyz * r3.xyz;
r3.xyz = cmp(float3(0,0,0) < r3.xyz);
r3.xyz = r3.xyz ? 1.000000 : 0;
r2.w = r3.x * r3.y;
r2.w = r2.w * r3.z;
r1.xyz = r2.www * r4.xyz + r1.xyz;
r3.xyz = ZcScaleTcShadows_LeftRight[5].xyz * r0.yyy + ZcScaleTcShadows_LeftTop[5].xyz;
r3.xyz = ZcScaleTcShadows_TopBottom[5].xyz * r0.zzz + r3.xyz;
r0.xyz = r0.xxx * r3.xyz + ZcTransTcShadows[5].xyz;
r3.xyz = r0.xyz + -r1.xyz;
r4.xyz = -SplitTcMins[4].xyz + r0.xyz;
r0.xyz = SplitTcMaxs[4].xyz + -r0.xyz;
r0.xyz = r4.xyz * r0.xyz;
r0.xyz = cmp(float3(0,0,0) < r0.xyz);
r0.xyz = r0.xyz ? 1.000000 : 0;
r0.x = r0.x * r0.y;
r0.x = r0.x * r0.z;
r1.xyz = r0.xxx * r3.xyz + r1.xyz;
r0.y = TMapPSplitShadow1.SampleCmpLevelZero(SMapPSplitShadow1_s, r1.xy, r1.z).x;
r0.z = TMapStaticSprite.SampleCmpLevelZero(SMapStaticSprite_s, r2.xy, r2.z).x;
r1.x = TMapStaticShadow0.SampleCmpLevelZero(SMapStaticShadow0_s, r2.xy, r2.z).x;
r0.y = r0.y * r0.z + -r1.x;
r0.z = 1 + -r0.w;
r0.z = r1.w * r0.z + r0.w;
r0.w = 1 + -r0.z;
r0.z = r2.w * r0.w + r0.z;
r0.w = 1 + -r0.z;
r0.x = r0.x * r0.w + r0.z;
o0.xyzw = r0.xxxx * r0.yyyy + r1.xxxx;
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// using 3Dmigoto v1.2.35 on Sat Mar 26 12:24:48 2016
//
//
// Buffer Definitions:
//
// cbuffer SceneP
// {
//
// float4 GbxP3Fog_LinearRGB; // Offset: 0 Size: 16 [unused]
// float4x3 GbxP3WorldToCamera; // Offset: 16 Size: 48 [unused]
// float4 GbxP3EyeInWorld; // Offset: 64 Size: 16 [unused]
// float4 GbxP3CameraPrRangeW; // Offset: 80 Size: 16 [unused]
// float4 GbxP3RasterPos_SxyTwz_TexCoord;// Offset: 96 Size: 16
// float4 GbxP3RasterFaceSign_Alpha01Ref;// Offset: 112 Size: 16 [unused]
// float4 GbxP3LightAmbientLinear; // Offset: 128 Size: 16 [unused]
// float4 GbxP3LightDirRgbLinear0; // Offset: 144 Size: 16 [unused]
// float4 GbxP3LightDirDirInWorld0; // Offset: 160 Size: 16 [unused]
// float4 GbxP3LightGenPHdrScale_SelfIllumScale_SpecMaxExp_SpecScale;// Offset: 176 Size: 16 [unused]
// float4 GbxP3LocalSpecularScale_ScaleExp;// Offset: 192 Size: 16 [unused]
// float4 GbxP3TmFilmCurve_A_B_BC_OutScale;// Offset: 208 Size: 16 [unused]
// float4 GbxP3TmFilmCurve_DE_DF_EoverF;// Offset: 224 Size: 16 [unused]
// float4 GbxP3TmAutoExposureUV; // Offset: 240 Size: 16 [unused]
// float4 GbxP3T3HdrScales_Block_Particle_Player;// Offset: 256 Size: 16 [unused]
// float4 GbxP3CloudsX2minRGB_Half; // Offset: 272 Size: 16 [unused]
// float4 GbxP3CloudsX2maxRGB_FREE; // Offset: 288 Size: 16 [unused]
// float4 GbxP3LmComputeScaleNoAcc; // Offset: 304 Size: 16 [unused]
// float4x3 GbxP3Projector_EyePz01; // Offset: 320 Size: 48 [unused]
// float4 GbxP3Projector_PosInEye; // Offset: 368 Size: 16 [unused]
// float4 GbxP3Projector_Rgb; // Offset: 384 Size: 16 [unused]
// float4 GbxP3TexelSxyTwzUV_LightPosIRad;// Offset: 400 Size: 16 [unused]
// float4 GbxP3TexelSizeUVW_Half_LightList;// Offset: 416 Size: 16 [unused]
// float4 GbxP4DayTime; // Offset: 432 Size: 16 [unused]
// float4 GbxP4WorldToWaterDepth; // Offset: 448 Size: 16 [unused]
// float4 GbxP4WorldToWaterFrac; // Offset: 464 Size: 16 [unused]
// float4 GbxP4WaterDepthMax_yInv_FracST;// Offset: 480 Size: 16 [unused]
// bool GbxP4OutputIsLinear; // Offset: 496 Size: 4 [unused]
// bool GbxP3ToneMapInShader; // Offset: 500 Size: 4 [unused]
// bool GbxP3LmBumpTxTyTz; // Offset: 504 Size: 4 [unused]
//
// }
//
// cbuffer ShaderP
// {
//
// float4 PCameraZ_Min_Max_MaxInv_MaxSubMin;// Offset: 0 Size: 16
// = 0x00000000 0x00000000 0x00000000 0x00000000
// float4 LinearizeDepthST_NormalizeZ;// Offset: 16 Size: 16 [unused]
// = 0x00000000 0x00000000 0x00000000 0x00000000
// float4 ZcTransTcShadows[6]; // Offset: 32 Size: 96
// float4 ZcScaleTcShadows_LeftTop[6];// Offset: 128 Size: 96
// float4 ZcScaleTcShadows_LeftRight[6];// Offset: 224 Size: 96
// float4 ZcScaleTcShadows_TopBottom[6];// Offset: 320 Size: 96
// float4 SplitZcMax4s[2]; // Offset: 416 Size: 32 [unused]
// float4 ZcStWeights[3]; // Offset: 448 Size: 48 [unused]
// float3 SplitTcMins[5]; // Offset: 496 Size: 76
// float3 SplitTcMaxs[5]; // Offset: 576 Size: 76
// float2 DbgMapperTexelCount_Mode; // Offset: 656 Size: 8 [unused]
// = 0x41800000 0x00000000
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// SMapDepth sampler NA NA 0 1
// SMapStaticShadow0 sampler_c NA NA 1 1
// SMapPSplitShadow1 sampler_c NA NA 2 1
// SMapStaticSprite sampler_c NA NA 3 1
// TMapDepth texture float4 2d 0 1
// TMapStaticShadow0 texture float4 2d 1 1
// TMapPSplitShadow1 texture float4 2d 2 1
// TMapStaticSprite texture float4 2d 3 1
// ShaderP cbuffer NA NA 0 1
// SceneP cbuffer NA NA 13 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position 0 xyzw 0 POS float xy
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target 0 xyzw 0 TARGET float xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb13[7], immediateIndexed
dcl_constantbuffer cb0[41], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_comparison
dcl_sampler s2, mode_comparison
dcl_sampler s3, mode_comparison
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_resource_texture2d (float,float,float,float) t2
dcl_resource_texture2d (float,float,float,float) t3
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_output o0.xyzw
dcl_temps 6
mad r0.xy, cb13[6].xyxx, v0.xyxx, cb13[6].wzww
sample_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t0.xyzw, s0
mad r0.x, cb0[0].w, r0.x, cb0[0].x
mul r0.yz, v0.xxyx, cb13[6].xxyx
mad r1.xyz, cb0[15].xyzx, r0.yyyy, cb0[9].xyzx
mad r1.xyz, cb0[21].xyzx, r0.zzzz, r1.xyzx
mad r1.xyz, r0.xxxx, r1.xyzx, cb0[3].xyzx
add r2.xyz, r1.xyzx, -cb0[31].xyzx
add r3.xyz, -r1.xyzx, cb0[36].xyzx
mul r2.xyz, r2.xyzx, r3.xyzx
lt r2.xyz, l(0.000000, 0.000000, 0.000000, 0.000000), r2.xyzx
and r2.xyz, r2.xyzx, l(0x3f800000, 0x3f800000, 0x3f800000, 0)
mul r0.w, r2.y, r2.x
mul r1.w, r2.z, r0.w
mad r0.w, -r0.w, r2.z, l(1.000000)
mad r2.xyz, cb0[14].xyzx, r0.yyyy, cb0[8].xyzx
mad r2.xyz, cb0[20].xyzx, r0.zzzz, r2.xyzx
mad r2.xyz, r0.xxxx, r2.xyzx, cb0[2].xyzx
add r1.xyz, r1.xyzx, -r2.xyzx
mad r1.xyz, r1.wwww, r1.xyzx, r2.xyzx
mad r3.xyz, cb0[16].xyzx, r0.yyyy, cb0[10].xyzx
mad r3.xyz, cb0[22].xyzx, r0.zzzz, r3.xyzx
mad r3.xyz, r0.xxxx, r3.xyzx, cb0[4].xyzx
add r4.xyz, -r1.xyzx, r3.xyzx
add r5.xyz, r3.xyzx, -cb0[32].xyzx
add r3.xyz, -r3.xyzx, cb0[37].xyzx
mul r3.xyz, r3.xyzx, r5.xyzx
lt r3.xyz, l(0.000000, 0.000000, 0.000000, 0.000000), r3.xyzx
and r3.xyz, r3.xyzx, l(0x3f800000, 0x3f800000, 0x3f800000, 0)
mul r2.w, r3.y, r3.x
mul r2.w, r3.z, r2.w
mad r1.xyz, r2.wwww, r4.xyzx, r1.xyzx
mad r0.w, r2.w, r0.w, r1.w
mad r3.xyz, cb0[17].xyzx, r0.yyyy, cb0[11].xyzx
mad r3.xyz, cb0[23].xyzx, r0.zzzz, r3.xyzx
mad r3.xyz, r0.xxxx, r3.xyzx, cb0[5].xyzx
add r4.xyz, -r1.xyzx, r3.xyzx
add r5.xyz, r3.xyzx, -cb0[33].xyzx
add r3.xyz, -r3.xyzx, cb0[38].xyzx
mul r3.xyz, r3.xyzx, r5.xyzx
lt r3.xyz, l(0.000000, 0.000000, 0.000000, 0.000000), r3.xyzx
and r3.xyz, r3.xyzx, l(0x3f800000, 0x3f800000, 0x3f800000, 0)
mul r1.w, r3.y, r3.x
mul r1.w, r3.z, r1.w
mad r1.xyz, r1.wwww, r4.xyzx, r1.xyzx
mad r3.xyz, cb0[18].xyzx, r0.yyyy, cb0[12].xyzx
mad r3.xyz, cb0[24].xyzx, r0.zzzz, r3.xyzx
mad r3.xyz, r0.xxxx, r3.xyzx, cb0[6].xyzx
add r4.xyz, -r1.xyzx, r3.xyzx
add r5.xyz, r3.xyzx, -cb0[34].xyzx
add r3.xyz, -r3.xyzx, cb0[39].xyzx
mul r3.xyz, r3.xyzx, r5.xyzx
lt r3.xyz, l(0.000000, 0.000000, 0.000000, 0.000000), r3.xyzx
and r3.xyz, r3.xyzx, l(0x3f800000, 0x3f800000, 0x3f800000, 0)
mul r2.w, r3.y, r3.x
mul r2.w, r3.z, r2.w
mad r1.xyz, r2.wwww, r4.xyzx, r1.xyzx
mad r3.xyz, cb0[19].xyzx, r0.yyyy, cb0[13].xyzx
mad r3.xyz, cb0[25].xyzx, r0.zzzz, r3.xyzx
mad r0.xyz, r0.xxxx, r3.xyzx, cb0[7].xyzx
add r3.xyz, -r1.xyzx, r0.xyzx
add r4.xyz, r0.xyzx, -cb0[35].xyzx
add r0.xyz, -r0.xyzx, cb0[40].xyzx
mul r0.xyz, r0.xyzx, r4.xyzx
lt r0.xyz, l(0.000000, 0.000000, 0.000000, 0.000000), r0.xyzx
and r0.xyz, r0.xyzx, l(0x3f800000, 0x3f800000, 0x3f800000, 0)
mul r0.x, r0.y, r0.x
mul r0.x, r0.z, r0.x
mad r1.xyz, r0.xxxx, r3.xyzx, r1.xyzx
sample_c_lz_indexable(texture2d)(float,float,float,float) r0.y, r1.xyxx, t2.xxxx, s2, r1.z
sample_c_lz_indexable(texture2d)(float,float,float,float) r0.z, r2.xyxx, t3.xxxx, s3, r2.z
sample_c_lz_indexable(texture2d)(float,float,float,float) r1.x, r2.xyxx, t1.xxxx, s1, r2.z
mad r0.y, r0.y, r0.z, -r1.x
add r0.z, -r0.w, l(1.000000)
mad r0.z, r1.w, r0.z, r0.w
add r0.w, -r0.z, l(1.000000)
mad r0.z, r2.w, r0.w, r0.z
add r0.w, -r0.z, l(1.000000)
mad r0.x, r0.x, r0.w, r0.z
mad o0.xyzw, r0.xxxx, r0.yyyy, r1.xxxx
ret
// Approximately 81 instruction slots used

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

Dual boot Win 7 x64 & Win 10 (1809) | Geforce Drivers 417.35

#10
Posted 03/26/2016 07:42 PM   
thanks for sharing, 4everAwake. does it still reset to 15% depth after changemap ?
thanks for sharing, 4everAwake. does it still reset to 15% depth after changemap ?

#11
Posted 03/26/2016 08:01 PM   
Yes. And the convergence is set high every map change. But the "unlock_separation" feature in 3Dmigoto can be used keep the depth constant.
Yes. And the convergence is set high every map change. But the "unlock_separation" feature in 3Dmigoto can be used keep the depth constant.

Dual boot Win 7 x64 & Win 10 (1809) | Geforce Drivers 417.35

#12
Posted 03/26/2016 08:14 PM   
I think, this 3Dmigoto thing is a bit misleading. I am used to and I love high convergence settings. The default convergence in Turbo is perfect for me. Never tried to fiddle with the convergence, so I didn't notice that it is fixed. And probably for a lot of people here, the convergence will be fine, too. And without 3Dmigoto there doesn't seem to be any shadow or water depth problems. The only annoyance is the convergence change after you are being forced into fpv. Does 3Dmigito help with this? So, if you are into high convergence, Turbo is a fantastic real (no fake) stereoscopic 3D game for you. :-)
I think, this 3Dmigoto thing is a bit misleading.
I am used to and I love high convergence settings.
The default convergence in Turbo is perfect for me.
Never tried to fiddle with the convergence, so I didn't notice that it is fixed.
And probably for a lot of people here, the convergence will be fine, too.
And without 3Dmigoto there doesn't seem to be any shadow or water depth problems.

The only annoyance is the convergence change after you are being forced into fpv.
Does 3Dmigito help with this?

So, if you are into high convergence, Turbo is a fantastic real (no fake) stereoscopic 3D game for you. :-)

#13
Posted 03/26/2016 09:49 PM   
Thanks for the pics. I am fine with high convergence. Looks good. Btw, the game has a demo in the Playstation Store. Sad that there is none on Steam to check out the 3D myself.
Thanks for the pics. I am fine with high convergence. Looks good.

Btw, the game has a demo in the Playstation Store. Sad that there is none on Steam to check out the 3D myself.

Intel Core i7-3820, 4 X 3,60 GHz overclocked to 4,50 GHz ; EVGA Titan X 12VRAM ; 16 GB Corsair Vengeance DDR-1600 (4x 4 GB) ; Asus VG278H 27-inch incl. 3D vision 2 glasses, integrated transmitter ; Xbox One Elite wireless controller ; Windows 10HTC VIVE 2,5 m2 roomscale3D VISION GAMERS - VISIT ME ON STEAM and feel free to add me: http://steamcommunity.com/profiles/76561198064106555 YOUTUBE: https://www.youtube.com/channel/UC1UE5TPoF0HX0HVpF_E4uPQ STEAM CURATOR: https://store.steampowered.com/curator/33611530-Streaming-Deluxe/ Image

#14
Posted 03/26/2016 10:33 PM   
I found out that the 3D-depth of the water (lakes...) is completely wrong when you choose "very fast" shader-settings in the graphics menu of the game. With all other (higher) settings the depth is fine (except from some sky reflections on the water surface). I wanted to set shaders to "very fast" for performance reasons but the water problem completely destroyed immersion for me. So I have to use "fast" instead of "very fast" and have to live with stuttering and fps-drops in some demanding levels (level 14 for example) in 3D surround. Would be cool if someone could fix this "water problem" which appears on "very fast/low"-settings only.
I found out that the 3D-depth of the water (lakes...) is completely wrong when you choose "very fast" shader-settings in the graphics menu of the game. With all other (higher) settings the depth is fine (except from some sky reflections on the water surface). I wanted to set shaders to "very fast" for performance reasons but the water problem completely destroyed immersion for me. So I have to use "fast" instead of "very fast" and have to live with stuttering and fps-drops in some demanding levels (level 14 for example) in 3D surround.
Would be cool if someone could fix this "water problem" which appears on "very fast/low"-settings only.

Win 8.1 pro 64 bit, Gigabyte Z87X-D3H - i7-4770K@3.5 - 32 GB, 2x Geforce TITAN SLI (EVGA), 3x ASUS 3D-Vision-Monitors

#15
Posted 03/28/2016 07:27 AM   
  1 / 2    
Scroll To Top