"The Wild Eight" convergence issue
The Wild Eight. This game is already fixed by the developers but you have to play with very low convergence... This kind of games (top down) are better played with very high convergence but it breaks some shadows... It this fixeable? the shadow shaders are the same in the game "Black the Fall". I fixed those shaders in "Black the Fall" but in "The Wild Eight" it doesn't work. If the developers have fixed 3D "inside" the game... can we do something? Is there a way to fix convergence when separation is ok? low convergence shadows are ok [url=http://www.iforce.co.nz/View.aspx?i=qms20mij.pgh.jpg][img]http://iforce.co.nz/i/qms20mij.pgh.jpg[/img][/url] high convergence breaks the shadows (look at the top of the trees) [url=http://www.iforce.co.nz/View.aspx?i=yca1wamu.ygt.jpg][img]http://iforce.co.nz/i/yca1wamu.ygt.jpg[/img][/url] Thanks
The Wild Eight.
This game is already fixed by the developers but you have to play with very low convergence...
This kind of games (top down) are better played with very high convergence but it breaks some shadows...
It this fixeable? the shadow shaders are the same in the game "Black the Fall". I fixed those shaders in "Black the Fall" but in "The Wild Eight" it doesn't work.
If the developers have fixed 3D "inside" the game... can we do something?
Is there a way to fix convergence when separation is ok?


low convergence shadows are ok
Image


high convergence breaks the shadows (look at the top of the trees)
Image



Thanks

#1
Posted 08/06/2017 06:54 PM   
PS: [code]// shadows PS // ---- Created with 3Dmigoto v1.2.62 on Sun Aug 06 16:03:37 2017 Texture2D<float4> t1 : register(t1); Texture2D<float4> t0 : register(t0); SamplerComparisonState s1_s : register(s1); SamplerState s0_s : register(s0); cbuffer cb3 : register(b3) { float4 cb3[26]; } cbuffer cb2 : register(b2) { float4 cb2[22]; } cbuffer cb1 : register(b1) { float4 cb1[9]; } cbuffer cb0 : register(b0) { float4 cb0[4]; } // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); void main( float4 v0 : TEXCOORD0, float4 v1 : TEXCOORD1, float4 v2 : TEXCOORD2, float3 v3 : TEXCOORD3, float4 v4 : SV_POSITION0, out float4 o0 : SV_Target0) { float4 r0,r1,r2,r3,r4,r5,r6,r7; uint4 bitmask, uiDest; float4 fDest; r0.xyzw = t0.Sample(s0_s, v0.xy).xyzw; r0.y = cb1[7].x * r0.x + cb1[7].y; r0.y = 1 / r0.y; r0.z = r0.x + -r0.y; r0.y = cb1[8].w * r0.z + r0.y; r0.x = 1 + -r0.x; r1.xyz = v3.xyz + -v2.xyz; r0.xzw = r0.xxx * r1.xyz + v2.xyz; r0.xzw = -v1.xyz * r0.yyy + r0.xzw; r1.xyz = v1.xyz * r0.yyy; r0.xyz = cb1[8].www * r0.xzw + r1.xyz; r1.xyzw = cb2[19].xyzw * r0.yyyy; r1.xyzw = cb2[18].xyzw * r0.xxxx + r1.xyzw; r0.xyzw = cb2[20].xyzw * r0.zzzz + r1.xyzw; r0.xyzw = cb2[21].xyzw + r0.xyzw; r1.xyz = -cb3[0].xyz + r0.xyz; r1.x = dot(r1.xyz, r1.xyz); r2.xyz = -cb3[1].xyz + r0.xyz; r1.y = dot(r2.xyz, r2.xyz); r2.xyz = -cb3[2].xyz + r0.xyz; r1.z = dot(r2.xyz, r2.xyz); r2.xyz = -cb3[3].xyz + r0.xyz; r1.w = dot(r2.xyz, r2.xyz); r1.xyzw = cmp(r1.xyzw < cb3[4].xyzw); r2.xyz = r1.xyz ? float3(-1,-1,-1) : float3(-0,-0,-0); r1.xyzw = r1.xyzw ? float4(1,1,1,1) : 0; r2.xyz = r1.yzw + r2.xyz; r1.yzw = max(float3(0,0,0), r2.xyz); r2.xyz = cb3[13].xyz * r0.yyy; r2.xyz = cb3[12].xyz * r0.xxx + r2.xyz; r2.xyz = cb3[14].xyz * r0.zzz + r2.xyz; r2.xyz = cb3[15].xyz * r0.www + r2.xyz; r2.xyz = r2.xyz * r1.yyy; r3.xyz = cb3[9].xyz * r0.yyy; r3.xyz = cb3[8].xyz * r0.xxx + r3.xyz; r3.xyz = cb3[10].xyz * r0.zzz + r3.xyz; r3.xyz = cb3[11].xyz * r0.www + r3.xyz; r2.xyz = r3.xyz * r1.xxx + r2.xyz; r1.x = dot(r1.xyzw, float4(1,1,1,1)); r3.xyz = cb3[17].xyz * r0.yyy; r3.xyz = cb3[16].xyz * r0.xxx + r3.xyz; r3.xyz = cb3[18].xyz * r0.zzz + r3.xyz; r3.xyz = cb3[19].xyz * r0.www + r3.xyz; r2.xyz = r3.xyz * r1.zzz + r2.xyz; r3.xyz = cb3[21].xyz * r0.yyy; r3.xyz = cb3[20].xyz * r0.xxx + r3.xyz; r3.xyz = cb3[22].xyz * r0.zzz + r3.xyz; r3.xyz = cb3[23].xyz * r0.www + r3.xyz; r0.xyz = -cb3[25].xyz + r0.xyz; r0.x = dot(r0.xyz, r0.xyz); r0.x = sqrt(r0.x); r0.x = saturate(r0.x * cb3[24].z + cb3[24].w); r0.yzw = r3.xyz * r1.www + r2.xyz; r0.yz = r0.yz * cb0[3].zw + float2(0.5,0.5); r0.w = r0.w + -r1.x; r0.w = 1 + r0.w; r1.xy = frac(r0.yz); r0.yz = floor(r0.yz); r0.yz = float2(-0.5,-0.5) + r0.yz; r1.zw = -r1.xy * float2(3,3) + float2(4,4); r2.x = 3 * r1.x; r2.xz = r2.xx * float2(-1,1) + float2(4,1); r2.y = 7; r3.xyz = r2.xyz * r1.www; r4.xy = -r1.xy * float2(2,2) + float2(3,3); r1.zw = r4.xy / r1.zw; r4.xy = float2(-2,-2) + r1.zw; r5.z = r4.y; r1.zw = r1.xy * float2(3,3) + float2(1,1); r6.xy = r1.xy / r1.zw; r7.xyz = r2.xyz * r1.www; r1.zw = float2(7,7) * r2.xz; r1.xy = float2(3,3) + r1.xy; r5.xy = cb0[3].xy * r1.xy; r1.xy = float2(2,2) + r6.xy; r5.w = r1.y; r4.w = r1.x; r2.xz = cb0[3].yy; r2.y = 0.142857149; r2.xyz = r5.zyw * r2.xyz; r4.z = r5.x; r5.w = r2.x; r6.xz = cb0[3].xx; r6.y = 0.142857149; r5.xyz = r6.yxz * r4.zxw; r4.xyzw = r0.yzyz * cb0[3].xyxy + r5.ywxw; r1.xy = r0.yz * cb0[3].xy + r5.zw; r1.x = t1.SampleCmpLevelZero(s1_s, r1.xy, r0.w).x; r1.y = t1.SampleCmpLevelZero(s1_s, r4.xy, r0.w).x; r2.x = t1.SampleCmpLevelZero(s1_s, r4.zw, r0.w).x; r2.x = r3.y * r2.x; r1.y = r3.x * r1.y + r2.x; r1.x = r3.z * r1.x + r1.y; r2.w = r5.y; r3.xyzw = r0.yzyz * cb0[3].xyxy + r2.wywz; r5.yw = r2.yz; r1.y = t1.SampleCmpLevelZero(s1_s, r3.xy, r0.w).x; r2.x = t1.SampleCmpLevelZero(s1_s, r3.zw, r0.w).x; r1.x = r1.z * r1.y + r1.x; r3.xyzw = r0.yzyz * cb0[3].xyxy + r5.xyzy; r4.xyzw = r0.yzyz * cb0[3].xyxy + r5.xwzw; r0.y = t1.SampleCmpLevelZero(s1_s, r3.xy, r0.w).x; r0.z = t1.SampleCmpLevelZero(s1_s, r3.zw, r0.w).x; r0.y = r0.y * 49 + r1.x; r0.y = r1.w * r0.z + r0.y; r0.y = r7.x * r2.x + r0.y; r0.z = t1.SampleCmpLevelZero(s1_s, r4.xy, r0.w).x; r0.w = t1.SampleCmpLevelZero(s1_s, r4.zw, r0.w).x; r0.y = r7.y * r0.z + r0.y; r0.y = r7.z * r0.w + r0.y; r0.y = 0.0069444445 * r0.y; r0.z = 1 + -cb3[24].x; r0.y = r0.y * r0.z + cb3[24].x; o0.xyzw = r0.yyyy + r0.xxxx; return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) D3D Shader Disassembler // // using 3Dmigoto v1.2.62 on Sun Aug 06 16:03:37 2017 // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // TEXCOORD 0 xyzw 0 NONE float xy // TEXCOORD 1 xyz 1 NONE float xyz // TEXCOORD 2 xyz 2 NONE float xyz // TEXCOORD 3 xyz 3 NONE float xyz // SV_POSITION 0 xyzw 4 POS float // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Target 0 xyzw 0 TARGET float xyzw // ps_4_0 dcl_constantbuffer cb0[4], immediateIndexed dcl_constantbuffer cb1[9], immediateIndexed dcl_constantbuffer cb2[22], immediateIndexed dcl_constantbuffer cb3[26], immediateIndexed dcl_sampler s0, mode_default dcl_sampler s1, mode_comparison dcl_resource_texture2d (float,float,float,float) t0 dcl_resource_texture2d (float,float,float,float) t1 dcl_input_ps linear v0.xy dcl_input_ps linear v1.xyz dcl_input_ps linear v2.xyz dcl_input_ps linear v3.xyz dcl_output o0.xyzw dcl_temps 8 sample r0.xyzw, v0.xyxx, t0.xyzw, s0 mad r0.y, cb1[7].x, r0.x, cb1[7].y div r0.y, l(1.000000, 1.000000, 1.000000, 1.000000), r0.y add r0.z, -r0.y, r0.x mad r0.y, cb1[8].w, r0.z, r0.y add r0.x, -r0.x, l(1.000000) add r1.xyz, -v2.xyzx, v3.xyzx mad r0.xzw, r0.xxxx, r1.xxyz, v2.xxyz mad r0.xzw, -v1.xxyz, r0.yyyy, r0.xxzw mul r1.xyz, r0.yyyy, v1.xyzx mad r0.xyz, cb1[8].wwww, r0.xzwx, r1.xyzx mul r1.xyzw, r0.yyyy, cb2[19].xyzw mad r1.xyzw, cb2[18].xyzw, r0.xxxx, r1.xyzw mad r0.xyzw, cb2[20].xyzw, r0.zzzz, r1.xyzw add r0.xyzw, r0.xyzw, cb2[21].xyzw add r1.xyz, r0.xyzx, -cb3[0].xyzx dp3 r1.x, r1.xyzx, r1.xyzx add r2.xyz, r0.xyzx, -cb3[1].xyzx dp3 r1.y, r2.xyzx, r2.xyzx add r2.xyz, r0.xyzx, -cb3[2].xyzx dp3 r1.z, r2.xyzx, r2.xyzx add r2.xyz, r0.xyzx, -cb3[3].xyzx dp3 r1.w, r2.xyzx, r2.xyzx lt r1.xyzw, r1.xyzw, cb3[4].xyzw movc r2.xyz, r1.xyzx, l(-1.000000,-1.000000,-1.000000,0), l(-0.000000,-0.000000,-0.000000,0) and r1.xyzw, r1.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000) add r2.xyz, r2.xyzx, r1.yzwy max r1.yzw, r2.xxyz, l(0.000000, 0.000000, 0.000000, 0.000000) mul r2.xyz, r0.yyyy, cb3[13].xyzx mad r2.xyz, cb3[12].xyzx, r0.xxxx, r2.xyzx mad r2.xyz, cb3[14].xyzx, r0.zzzz, r2.xyzx mad r2.xyz, cb3[15].xyzx, r0.wwww, r2.xyzx mul r2.xyz, r1.yyyy, r2.xyzx mul r3.xyz, r0.yyyy, cb3[9].xyzx mad r3.xyz, cb3[8].xyzx, r0.xxxx, r3.xyzx mad r3.xyz, cb3[10].xyzx, r0.zzzz, r3.xyzx mad r3.xyz, cb3[11].xyzx, r0.wwww, r3.xyzx mad r2.xyz, r3.xyzx, r1.xxxx, r2.xyzx dp4 r1.x, r1.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000) mul r3.xyz, r0.yyyy, cb3[17].xyzx mad r3.xyz, cb3[16].xyzx, r0.xxxx, r3.xyzx mad r3.xyz, cb3[18].xyzx, r0.zzzz, r3.xyzx mad r3.xyz, cb3[19].xyzx, r0.wwww, r3.xyzx mad r2.xyz, r3.xyzx, r1.zzzz, r2.xyzx mul r3.xyz, r0.yyyy, cb3[21].xyzx mad r3.xyz, cb3[20].xyzx, r0.xxxx, r3.xyzx mad r3.xyz, cb3[22].xyzx, r0.zzzz, r3.xyzx mad r3.xyz, cb3[23].xyzx, r0.wwww, r3.xyzx add r0.xyz, r0.xyzx, -cb3[25].xyzx dp3 r0.x, r0.xyzx, r0.xyzx sqrt r0.x, r0.x mad_sat r0.x, r0.x, cb3[24].z, cb3[24].w mad r0.yzw, r3.xxyz, r1.wwww, r2.xxyz mad r0.yz, r0.yyzy, cb0[3].zzwz, l(0.000000, 0.500000, 0.500000, 0.000000) add r0.w, -r1.x, r0.w add r0.w, r0.w, l(1.000000) frc r1.xy, r0.yzyy round_ni r0.yz, r0.yyzy add r0.yz, r0.yyzy, l(0.000000, -0.500000, -0.500000, 0.000000) mad r1.zw, -r1.xxxy, l(0.000000, 0.000000, 3.000000, 3.000000), l(0.000000, 0.000000, 4.000000, 4.000000) mul r2.x, r1.x, l(3.000000) mad r2.xz, r2.xxxx, l(-1.000000, 0.000000, 1.000000, 0.000000), l(4.000000, 0.000000, 1.000000, 0.000000) mov r2.y, l(7.000000) mul r3.xyz, r1.wwww, r2.xyzx mad r4.xy, -r1.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(3.000000, 3.000000, 0.000000, 0.000000) div r1.zw, r4.xxxy, r1.zzzw add r4.xy, r1.zwzz, l(-2.000000, -2.000000, 0.000000, 0.000000) mov r5.z, r4.y mad r1.zw, r1.xxxy, l(0.000000, 0.000000, 3.000000, 3.000000), l(0.000000, 0.000000, 1.000000, 1.000000) div r6.xy, r1.xyxx, r1.zwzz mul r7.xyz, r1.wwww, r2.xyzx mul r1.zw, r2.xxxz, l(0.000000, 0.000000, 7.000000, 7.000000) add r1.xy, r1.xyxx, l(3.000000, 3.000000, 0.000000, 0.000000) mul r5.xy, r1.xyxx, cb0[3].xyxx add r1.xy, r6.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000) mov r5.w, r1.y mov r4.w, r1.x mov r2.xz, cb0[3].yyyy mov r2.y, l(0.142857149) mul r2.xyz, r2.xyzx, r5.zywz mov r4.z, r5.x mov r5.w, r2.x mov r6.xz, cb0[3].xxxx mov r6.y, l(0.142857149) mul r5.xyz, r4.zxwz, r6.yxzy mad r4.xyzw, r0.yzyz, cb0[3].xyxy, r5.ywxw mad r1.xy, r0.yzyy, cb0[3].xyxx, r5.zwzz sample_c_lz r1.x, r1.xyxx, t1.xxxx, s1, r0.w sample_c_lz r1.y, r4.xyxx, t1.xxxx, s1, r0.w sample_c_lz r2.x, r4.zwzz, t1.xxxx, s1, r0.w mul r2.x, r2.x, r3.y mad r1.y, r3.x, r1.y, r2.x mad r1.x, r3.z, r1.x, r1.y mov r2.w, r5.y mad r3.xyzw, r0.yzyz, cb0[3].xyxy, r2.wywz mov r5.yw, r2.yyyz sample_c_lz r1.y, r3.xyxx, t1.xxxx, s1, r0.w sample_c_lz r2.x, r3.zwzz, t1.xxxx, s1, r0.w mad r1.x, r1.z, r1.y, r1.x mad r3.xyzw, r0.yzyz, cb0[3].xyxy, r5.xyzy mad r4.xyzw, r0.yzyz, cb0[3].xyxy, r5.xwzw sample_c_lz r0.y, r3.xyxx, t1.xxxx, s1, r0.w sample_c_lz r0.z, r3.zwzz, t1.xxxx, s1, r0.w mad r0.y, r0.y, l(49.000000), r1.x mad r0.y, r1.w, r0.z, r0.y mad r0.y, r7.x, r2.x, r0.y sample_c_lz r0.z, r4.xyxx, t1.xxxx, s1, r0.w sample_c_lz r0.w, r4.zwzz, t1.xxxx, s1, r0.w mad r0.y, r7.y, r0.z, r0.y mad r0.y, r7.z, r0.w, r0.y mul r0.y, r0.y, l(0.00694444450) add r0.z, -cb3[24].x, l(1.000000) mad r0.y, r0.y, r0.z, cb3[24].x add o0.xyzw, r0.xxxx, r0.yyyy ret // Approximately 0 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code]
PS:
// shadows PS
// ---- Created with 3Dmigoto v1.2.62 on Sun Aug 06 16:03:37 2017
Texture2D<float4> t1 : register(t1);

Texture2D<float4> t0 : register(t0);

SamplerComparisonState s1_s : register(s1);

SamplerState s0_s : register(s0);

cbuffer cb3 : register(b3)
{
float4 cb3[26];
}

cbuffer cb2 : register(b2)
{
float4 cb2[22];
}

cbuffer cb1 : register(b1)
{
float4 cb1[9];
}

cbuffer cb0 : register(b0)
{
float4 cb0[4];
}




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


void main(
float4 v0 : TEXCOORD0,
float4 v1 : TEXCOORD1,
float4 v2 : TEXCOORD2,
float3 v3 : TEXCOORD3,
float4 v4 : SV_POSITION0,
out float4 o0 : SV_Target0)
{
float4 r0,r1,r2,r3,r4,r5,r6,r7;
uint4 bitmask, uiDest;
float4 fDest;

r0.xyzw = t0.Sample(s0_s, v0.xy).xyzw;
r0.y = cb1[7].x * r0.x + cb1[7].y;
r0.y = 1 / r0.y;
r0.z = r0.x + -r0.y;
r0.y = cb1[8].w * r0.z + r0.y;
r0.x = 1 + -r0.x;
r1.xyz = v3.xyz + -v2.xyz;
r0.xzw = r0.xxx * r1.xyz + v2.xyz;
r0.xzw = -v1.xyz * r0.yyy + r0.xzw;
r1.xyz = v1.xyz * r0.yyy;
r0.xyz = cb1[8].www * r0.xzw + r1.xyz;
r1.xyzw = cb2[19].xyzw * r0.yyyy;
r1.xyzw = cb2[18].xyzw * r0.xxxx + r1.xyzw;
r0.xyzw = cb2[20].xyzw * r0.zzzz + r1.xyzw;
r0.xyzw = cb2[21].xyzw + r0.xyzw;
r1.xyz = -cb3[0].xyz + r0.xyz;
r1.x = dot(r1.xyz, r1.xyz);
r2.xyz = -cb3[1].xyz + r0.xyz;
r1.y = dot(r2.xyz, r2.xyz);
r2.xyz = -cb3[2].xyz + r0.xyz;
r1.z = dot(r2.xyz, r2.xyz);
r2.xyz = -cb3[3].xyz + r0.xyz;
r1.w = dot(r2.xyz, r2.xyz);
r1.xyzw = cmp(r1.xyzw < cb3[4].xyzw);
r2.xyz = r1.xyz ? float3(-1,-1,-1) : float3(-0,-0,-0);
r1.xyzw = r1.xyzw ? float4(1,1,1,1) : 0;
r2.xyz = r1.yzw + r2.xyz;
r1.yzw = max(float3(0,0,0), r2.xyz);
r2.xyz = cb3[13].xyz * r0.yyy;
r2.xyz = cb3[12].xyz * r0.xxx + r2.xyz;
r2.xyz = cb3[14].xyz * r0.zzz + r2.xyz;
r2.xyz = cb3[15].xyz * r0.www + r2.xyz;
r2.xyz = r2.xyz * r1.yyy;
r3.xyz = cb3[9].xyz * r0.yyy;
r3.xyz = cb3[8].xyz * r0.xxx + r3.xyz;
r3.xyz = cb3[10].xyz * r0.zzz + r3.xyz;
r3.xyz = cb3[11].xyz * r0.www + r3.xyz;
r2.xyz = r3.xyz * r1.xxx + r2.xyz;
r1.x = dot(r1.xyzw, float4(1,1,1,1));
r3.xyz = cb3[17].xyz * r0.yyy;
r3.xyz = cb3[16].xyz * r0.xxx + r3.xyz;
r3.xyz = cb3[18].xyz * r0.zzz + r3.xyz;
r3.xyz = cb3[19].xyz * r0.www + r3.xyz;
r2.xyz = r3.xyz * r1.zzz + r2.xyz;
r3.xyz = cb3[21].xyz * r0.yyy;
r3.xyz = cb3[20].xyz * r0.xxx + r3.xyz;
r3.xyz = cb3[22].xyz * r0.zzz + r3.xyz;
r3.xyz = cb3[23].xyz * r0.www + r3.xyz;
r0.xyz = -cb3[25].xyz + r0.xyz;
r0.x = dot(r0.xyz, r0.xyz);
r0.x = sqrt(r0.x);
r0.x = saturate(r0.x * cb3[24].z + cb3[24].w);
r0.yzw = r3.xyz * r1.www + r2.xyz;
r0.yz = r0.yz * cb0[3].zw + float2(0.5,0.5);
r0.w = r0.w + -r1.x;
r0.w = 1 + r0.w;
r1.xy = frac(r0.yz);
r0.yz = floor(r0.yz);
r0.yz = float2(-0.5,-0.5) + r0.yz;
r1.zw = -r1.xy * float2(3,3) + float2(4,4);
r2.x = 3 * r1.x;
r2.xz = r2.xx * float2(-1,1) + float2(4,1);
r2.y = 7;
r3.xyz = r2.xyz * r1.www;
r4.xy = -r1.xy * float2(2,2) + float2(3,3);
r1.zw = r4.xy / r1.zw;
r4.xy = float2(-2,-2) + r1.zw;
r5.z = r4.y;
r1.zw = r1.xy * float2(3,3) + float2(1,1);
r6.xy = r1.xy / r1.zw;
r7.xyz = r2.xyz * r1.www;
r1.zw = float2(7,7) * r2.xz;
r1.xy = float2(3,3) + r1.xy;
r5.xy = cb0[3].xy * r1.xy;
r1.xy = float2(2,2) + r6.xy;
r5.w = r1.y;
r4.w = r1.x;
r2.xz = cb0[3].yy;
r2.y = 0.142857149;
r2.xyz = r5.zyw * r2.xyz;
r4.z = r5.x;
r5.w = r2.x;
r6.xz = cb0[3].xx;
r6.y = 0.142857149;
r5.xyz = r6.yxz * r4.zxw;
r4.xyzw = r0.yzyz * cb0[3].xyxy + r5.ywxw;
r1.xy = r0.yz * cb0[3].xy + r5.zw;
r1.x = t1.SampleCmpLevelZero(s1_s, r1.xy, r0.w).x;
r1.y = t1.SampleCmpLevelZero(s1_s, r4.xy, r0.w).x;
r2.x = t1.SampleCmpLevelZero(s1_s, r4.zw, r0.w).x;
r2.x = r3.y * r2.x;
r1.y = r3.x * r1.y + r2.x;
r1.x = r3.z * r1.x + r1.y;
r2.w = r5.y;
r3.xyzw = r0.yzyz * cb0[3].xyxy + r2.wywz;
r5.yw = r2.yz;
r1.y = t1.SampleCmpLevelZero(s1_s, r3.xy, r0.w).x;
r2.x = t1.SampleCmpLevelZero(s1_s, r3.zw, r0.w).x;
r1.x = r1.z * r1.y + r1.x;
r3.xyzw = r0.yzyz * cb0[3].xyxy + r5.xyzy;
r4.xyzw = r0.yzyz * cb0[3].xyxy + r5.xwzw;
r0.y = t1.SampleCmpLevelZero(s1_s, r3.xy, r0.w).x;
r0.z = t1.SampleCmpLevelZero(s1_s, r3.zw, r0.w).x;
r0.y = r0.y * 49 + r1.x;
r0.y = r1.w * r0.z + r0.y;
r0.y = r7.x * r2.x + r0.y;
r0.z = t1.SampleCmpLevelZero(s1_s, r4.xy, r0.w).x;
r0.w = t1.SampleCmpLevelZero(s1_s, r4.zw, r0.w).x;
r0.y = r7.y * r0.z + r0.y;
r0.y = r7.z * r0.w + r0.y;
r0.y = 0.0069444445 * r0.y;
r0.z = 1 + -cb3[24].x;
r0.y = r0.y * r0.z + cb3[24].x;
o0.xyzw = r0.yyyy + r0.xxxx;
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
// using 3Dmigoto v1.2.62 on Sun Aug 06 16:03:37 2017
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD 0 xyzw 0 NONE float xy
// TEXCOORD 1 xyz 1 NONE float xyz
// TEXCOORD 2 xyz 2 NONE float xyz
// TEXCOORD 3 xyz 3 NONE float xyz
// SV_POSITION 0 xyzw 4 POS float
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target 0 xyzw 0 TARGET float xyzw
//
ps_4_0
dcl_constantbuffer cb0[4], immediateIndexed
dcl_constantbuffer cb1[9], immediateIndexed
dcl_constantbuffer cb2[22], immediateIndexed
dcl_constantbuffer cb3[26], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_comparison
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_input_ps linear v0.xy
dcl_input_ps linear v1.xyz
dcl_input_ps linear v2.xyz
dcl_input_ps linear v3.xyz
dcl_output o0.xyzw
dcl_temps 8
sample r0.xyzw, v0.xyxx, t0.xyzw, s0
mad r0.y, cb1[7].x, r0.x, cb1[7].y
div r0.y, l(1.000000, 1.000000, 1.000000, 1.000000), r0.y
add r0.z, -r0.y, r0.x
mad r0.y, cb1[8].w, r0.z, r0.y
add r0.x, -r0.x, l(1.000000)
add r1.xyz, -v2.xyzx, v3.xyzx
mad r0.xzw, r0.xxxx, r1.xxyz, v2.xxyz
mad r0.xzw, -v1.xxyz, r0.yyyy, r0.xxzw
mul r1.xyz, r0.yyyy, v1.xyzx
mad r0.xyz, cb1[8].wwww, r0.xzwx, r1.xyzx
mul r1.xyzw, r0.yyyy, cb2[19].xyzw
mad r1.xyzw, cb2[18].xyzw, r0.xxxx, r1.xyzw
mad r0.xyzw, cb2[20].xyzw, r0.zzzz, r1.xyzw
add r0.xyzw, r0.xyzw, cb2[21].xyzw
add r1.xyz, r0.xyzx, -cb3[0].xyzx
dp3 r1.x, r1.xyzx, r1.xyzx
add r2.xyz, r0.xyzx, -cb3[1].xyzx
dp3 r1.y, r2.xyzx, r2.xyzx
add r2.xyz, r0.xyzx, -cb3[2].xyzx
dp3 r1.z, r2.xyzx, r2.xyzx
add r2.xyz, r0.xyzx, -cb3[3].xyzx
dp3 r1.w, r2.xyzx, r2.xyzx
lt r1.xyzw, r1.xyzw, cb3[4].xyzw
movc r2.xyz, r1.xyzx, l(-1.000000,-1.000000,-1.000000,0), l(-0.000000,-0.000000,-0.000000,0)
and r1.xyzw, r1.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000)
add r2.xyz, r2.xyzx, r1.yzwy
max r1.yzw, r2.xxyz, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r2.xyz, r0.yyyy, cb3[13].xyzx
mad r2.xyz, cb3[12].xyzx, r0.xxxx, r2.xyzx
mad r2.xyz, cb3[14].xyzx, r0.zzzz, r2.xyzx
mad r2.xyz, cb3[15].xyzx, r0.wwww, r2.xyzx
mul r2.xyz, r1.yyyy, r2.xyzx
mul r3.xyz, r0.yyyy, cb3[9].xyzx
mad r3.xyz, cb3[8].xyzx, r0.xxxx, r3.xyzx
mad r3.xyz, cb3[10].xyzx, r0.zzzz, r3.xyzx
mad r3.xyz, cb3[11].xyzx, r0.wwww, r3.xyzx
mad r2.xyz, r3.xyzx, r1.xxxx, r2.xyzx
dp4 r1.x, r1.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
mul r3.xyz, r0.yyyy, cb3[17].xyzx
mad r3.xyz, cb3[16].xyzx, r0.xxxx, r3.xyzx
mad r3.xyz, cb3[18].xyzx, r0.zzzz, r3.xyzx
mad r3.xyz, cb3[19].xyzx, r0.wwww, r3.xyzx
mad r2.xyz, r3.xyzx, r1.zzzz, r2.xyzx
mul r3.xyz, r0.yyyy, cb3[21].xyzx
mad r3.xyz, cb3[20].xyzx, r0.xxxx, r3.xyzx
mad r3.xyz, cb3[22].xyzx, r0.zzzz, r3.xyzx
mad r3.xyz, cb3[23].xyzx, r0.wwww, r3.xyzx
add r0.xyz, r0.xyzx, -cb3[25].xyzx
dp3 r0.x, r0.xyzx, r0.xyzx
sqrt r0.x, r0.x
mad_sat r0.x, r0.x, cb3[24].z, cb3[24].w
mad r0.yzw, r3.xxyz, r1.wwww, r2.xxyz
mad r0.yz, r0.yyzy, cb0[3].zzwz, l(0.000000, 0.500000, 0.500000, 0.000000)
add r0.w, -r1.x, r0.w
add r0.w, r0.w, l(1.000000)
frc r1.xy, r0.yzyy
round_ni r0.yz, r0.yyzy
add r0.yz, r0.yyzy, l(0.000000, -0.500000, -0.500000, 0.000000)
mad r1.zw, -r1.xxxy, l(0.000000, 0.000000, 3.000000, 3.000000), l(0.000000, 0.000000, 4.000000, 4.000000)
mul r2.x, r1.x, l(3.000000)
mad r2.xz, r2.xxxx, l(-1.000000, 0.000000, 1.000000, 0.000000), l(4.000000, 0.000000, 1.000000, 0.000000)
mov r2.y, l(7.000000)
mul r3.xyz, r1.wwww, r2.xyzx
mad r4.xy, -r1.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(3.000000, 3.000000, 0.000000, 0.000000)
div r1.zw, r4.xxxy, r1.zzzw
add r4.xy, r1.zwzz, l(-2.000000, -2.000000, 0.000000, 0.000000)
mov r5.z, r4.y
mad r1.zw, r1.xxxy, l(0.000000, 0.000000, 3.000000, 3.000000), l(0.000000, 0.000000, 1.000000, 1.000000)
div r6.xy, r1.xyxx, r1.zwzz
mul r7.xyz, r1.wwww, r2.xyzx
mul r1.zw, r2.xxxz, l(0.000000, 0.000000, 7.000000, 7.000000)
add r1.xy, r1.xyxx, l(3.000000, 3.000000, 0.000000, 0.000000)
mul r5.xy, r1.xyxx, cb0[3].xyxx
add r1.xy, r6.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000)
mov r5.w, r1.y
mov r4.w, r1.x
mov r2.xz, cb0[3].yyyy
mov r2.y, l(0.142857149)
mul r2.xyz, r2.xyzx, r5.zywz
mov r4.z, r5.x
mov r5.w, r2.x
mov r6.xz, cb0[3].xxxx
mov r6.y, l(0.142857149)
mul r5.xyz, r4.zxwz, r6.yxzy
mad r4.xyzw, r0.yzyz, cb0[3].xyxy, r5.ywxw
mad r1.xy, r0.yzyy, cb0[3].xyxx, r5.zwzz
sample_c_lz r1.x, r1.xyxx, t1.xxxx, s1, r0.w
sample_c_lz r1.y, r4.xyxx, t1.xxxx, s1, r0.w
sample_c_lz r2.x, r4.zwzz, t1.xxxx, s1, r0.w
mul r2.x, r2.x, r3.y
mad r1.y, r3.x, r1.y, r2.x
mad r1.x, r3.z, r1.x, r1.y
mov r2.w, r5.y
mad r3.xyzw, r0.yzyz, cb0[3].xyxy, r2.wywz
mov r5.yw, r2.yyyz
sample_c_lz r1.y, r3.xyxx, t1.xxxx, s1, r0.w
sample_c_lz r2.x, r3.zwzz, t1.xxxx, s1, r0.w
mad r1.x, r1.z, r1.y, r1.x
mad r3.xyzw, r0.yzyz, cb0[3].xyxy, r5.xyzy
mad r4.xyzw, r0.yzyz, cb0[3].xyxy, r5.xwzw
sample_c_lz r0.y, r3.xyxx, t1.xxxx, s1, r0.w
sample_c_lz r0.z, r3.zwzz, t1.xxxx, s1, r0.w
mad r0.y, r0.y, l(49.000000), r1.x
mad r0.y, r1.w, r0.z, r0.y
mad r0.y, r7.x, r2.x, r0.y
sample_c_lz r0.z, r4.xyxx, t1.xxxx, s1, r0.w
sample_c_lz r0.w, r4.zwzz, t1.xxxx, s1, r0.w
mad r0.y, r7.y, r0.z, r0.y
mad r0.y, r7.z, r0.w, r0.y
mul r0.y, r0.y, l(0.00694444450)
add r0.z, -cb3[24].x, l(1.000000)
mad r0.y, r0.y, r0.z, cb3[24].x
add o0.xyzw, r0.xxxx, r0.yyyy
ret
// Approximately 0 instruction slots used

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

#2
Posted 08/06/2017 07:21 PM   
Hi the developers contacted me: d.a.dekhs: (developer) Thanks for drawing our attention to that matter. We're most probably going to check the convergence parameters after all major game bugs will be dealt with. They asnwer me very soon, nice... The game is almost perfect 3D with separation "6" and convergence "12.1". I think there's not any halo, fog, etc issue...
Hi the developers contacted me:

d.a.dekhs: (developer)
Thanks for drawing our attention to that matter.
We're most probably going to check the convergence parameters after all major game bugs will be dealt with.

They asnwer me very soon, nice...

The game is almost perfect 3D with separation "6" and convergence "12.1". I think there's not any halo, fog, etc issue...

#3
Posted 08/07/2017 11:42 AM   
I love developers who cares about customers and give official 3DV support, so I will buy this game. Thanks for the info.
I love developers who cares about customers and give official 3DV support, so I will buy this game. Thanks for the info.

Asus Deluxe Gen3, Core i7 2700k@4.5Ghz, GTX 1080Ti, 16 GB RAM, Win 7 64bit
Samsung Pro 250 GB SSD, 4 TB WD Black (games)
Benq XL2720Z

#4
Posted 08/07/2017 12:08 PM   
You only have to deactivate ambient occlusion (it's broken).
You only have to deactivate ambient occlusion (it's broken).

#5
Posted 08/07/2017 04:20 PM   
Scroll To Top