Conan Exiles 3D fix Maybe
  3 / 12    
Almost at the same time you write  I am sorry that I have not seen the article you just wrote before The problem has been resolved after doing the following two steps: first I deleted 3f3a2b22980f968b-vs_replace.txt from the folder. And secondly V1.2's 77726e8bd1ae632c-vs_replace.txt changed to that of V1.0 After that, I was able to see the HUD as well as your screenshots. By the way, is it difficult to render properly without turning off shadows? The default state is that all shadows are rendered as mono If you change it to stereo, it would be solved. Is it difficult? Turning off the shadows makes the overall game atmosphere a bit unrealistic, so I'd like to turn it on.
Almost at the same time you write
 I am sorry that I have not seen the article you just wrote before

The problem has been resolved after doing the following two steps:

first
I deleted 3f3a2b22980f968b-vs_replace.txt from the folder.

And secondly
V1.2's 77726e8bd1ae632c-vs_replace.txt changed to that of V1.0

After that, I was able to see the HUD as well as your screenshots.

By the way, is it difficult to render properly without turning off shadows?
The default state is that all shadows are rendered as mono
If you change it to stereo, it would be solved. Is it difficult?
Turning off the shadows makes the overall game atmosphere a bit unrealistic, so I'd like to turn it on.

i7 8700K @4.9
GTX1080Ti
Asrock Z370 Gamming K6
Windows10 64bit
LG OLED UHD 3dtv 55E6K

#31
Posted 07/01/2017 11:36 PM   
yes but if you delete those files the UI will not be in Stereo? I am unsure what you are doing that for when it seems like a Hotkey issue?? No the Shadows are extremely hard to fix I am unable to fix them.. this is a best as I can fix it sorry but this is it for now ;)
yes but if you delete those files the UI will not be in Stereo? I am unsure what you are doing that for when it seems like a Hotkey issue??

No the Shadows are extremely hard to fix I am unable to fix them.. this is a best as I can fix it sorry but this is it for now ;)

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#32
Posted 07/01/2017 11:52 PM   
[quote="The_Nephilim"]yes but if you delete those files the UI will not be in Stereo? I am unsure what you are doing that for when it seems like a Hotkey issue??[/quote] you are right. After clearing or replacing the files, the UI became mono. But it's okay. I was already used to it. Regardless, once again, I sincerely appreciate your kind answers and efforts to resolve them. I learned a lot thanks to it.
The_Nephilim said:yes but if you delete those files the UI will not be in Stereo? I am unsure what you are doing that for when it seems like a Hotkey issue??


you are right. After clearing or replacing the files, the UI became mono.
But it's okay. I was already used to it.
Regardless, once again, I sincerely appreciate your kind answers and efforts to resolve them.
I learned a lot thanks to it.

i7 8700K @4.9
GTX1080Ti
Asrock Z370 Gamming K6
Windows10 64bit
LG OLED UHD 3dtv 55E6K

#33
Posted 07/02/2017 12:04 AM   
Well I am trying to fix the Shadows currently I am makeing a bit of Progress but don't quite get it.. I am going to ask another user to come here and look at the code.. Here is the Working shader code from Little Nightmares: [code] // Shadow Texture2D<float4> t1 : register(t1); Texture2D<float4> t0 : register(t0); SamplerState s1_s : register(s1); SamplerState s0_s : register(s0); cbuffer cb2 : register(b2) { float4 cb2[4]; } cbuffer cb1 : register(b1) { float4 cb1[122]; } cbuffer cb0 : register(b0) { float4 cb0[13]; } // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); #include "matrix.hlsl" void main( float4 v0 : SV_Position0, uint v1 : SV_IsFrontFace0, out float4 o0 : SV_Target0, out float4 o2 : SV_Target2, out float4 o3 : SV_Target3) { float4 r0,r1; uint4 bitmask, uiDest; float4 fDest; r0.xy = cb1[116].zw * v0.xy; r0.x = t1.SampleLevel(s1_s, r0.xy, 0).x; r1.xyzw = cb0[1].xyzw * v0.yyyy; r1.xyzw = v0.xxxx * cb0[0].xyzw + r1.xyzw; r0.xyzw = r0.xxxx * cb0[2].xyzw + r1.xyzw; r0.xyzw = cb0[3].xyzw + r0.xyzw; r0.xyz = r0.xyz / r0.www; float4 s = StereoParams.Load(0); matrix m = MATRIX(cb0, 0); matrix im = inverse(m); float4 t = mul(float4(r0.xyz, 1), im); t.x -= s.x * (t.w - s.y) * cb1[116].x / 2; r0.xyz = mul(t, m); r1.xyz = float3(1,1,1) + r0.xyz; r1.xyz = cmp(r1.xyz < float3(0,0,0)); r0.w = (int)r1.y | (int)r1.x; r0.w = (int)r1.z | (int)r0.w; if (r0.w != 0) discard; r1.xyz = float3(1,1,1) + -r0.xyz; r0.xyz = r0.xyz * float3(0.5,0.5,0.5) + float3(0.5,0.5,0.5); r1.xyz = cmp(r1.xyz < float3(0,0,0)); r0.w = (int)r1.y | (int)r1.x; r0.w = (int)r1.z | (int)r0.w; if (r0.w != 0) discard; r0.x = r0.x * 2 + -1; r0.yzw = t0.Sample(s0_s, r0.zy).xyz; r0.x = saturate(-abs(r0.x) * 4 + 4); r0.y = 0.600000024 * r0.y; r0.zw = cb2[3].yz * r0.zw; o3.yz = saturate(float2(0.600000024,0.600000024) * r0.zw); r0.z = saturate(r0.y); o3.x = saturate(cb2[3].x * r0.y); r0.x = r0.z * r0.x; r0.x = cb0[12].x * r0.x; o0.w = r0.x; o0.xyz = max(float3(0,0,0), cb2[2].xyz); o2.w = r0.x; o3.w = r0.x; o2.z = cb1[121].y + cb1[121].x; o2.xy = float2(0,0.5); return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) D3D Shader Disassembler // // using 3Dmigoto v1.2.57 on Sat Apr 29 12:32:19 2017 // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Position 0 xyzw 0 POS float xy // SV_IsFrontFace 0 x 1 FFACE uint // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Target 0 xyzw 0 TARGET float xyzw // SV_Target 2 xyzw 2 TARGET float xyzw // SV_Target 3 xyzw 3 TARGET float xyzw // ps_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb0[13], immediateIndexed dcl_constantbuffer cb1[122], immediateIndexed dcl_constantbuffer cb2[4], immediateIndexed dcl_sampler s0, mode_default dcl_sampler s1, mode_default dcl_resource_texture2d (float,float,float,float) t0 dcl_resource_texture2d (float,float,float,float) t1 dcl_input_ps_siv linear noperspective v0.xy, position dcl_output o0.xyzw dcl_output o2.xyzw dcl_output o3.xyzw dcl_temps 2 mul r0.xy, v0.xyxx, cb1[116].zwzz sample_l_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t1.xyzw, s1, l(0.000000) mul r1.xyzw, v0.yyyy, cb0[1].xyzw mad r1.xyzw, v0.xxxx, cb0[0].xyzw, r1.xyzw mad r0.xyzw, r0.xxxx, cb0[2].xyzw, r1.xyzw add r0.xyzw, r0.xyzw, cb0[3].xyzw div r0.xyz, r0.xyzx, r0.wwww add r1.xyz, r0.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) lt r1.xyz, r1.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000) or r0.w, r1.y, r1.x or r0.w, r1.z, r0.w discard_nz r0.w add r1.xyz, -r0.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) mad r0.xyz, r0.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000) lt r1.xyz, r1.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000) or r0.w, r1.y, r1.x or r0.w, r1.z, r0.w discard_nz r0.w mad r0.x, r0.x, l(2.000000), l(-1.000000) sample_indexable(texture2d)(float,float,float,float) r0.yzw, r0.zyzz, t0.wxyz, s0 mad_sat r0.x, -|r0.x|, l(4.000000), l(4.000000) mul r0.y, r0.y, l(0.600000) mul r0.zw, r0.zzzw, cb2[3].yyyz mul_sat o3.yz, r0.zzwz, l(0.000000, 0.600000, 0.600000, 0.000000) mov_sat r0.z, r0.y mul_sat o3.x, r0.y, cb2[3].x mul r0.x, r0.x, r0.z mul r0.x, r0.x, cb0[12].x mov o0.w, r0.x max o0.xyz, cb2[2].xyzx, l(0.000000, 0.000000, 0.000000, 0.000000) mov o2.w, r0.x mov o3.w, r0.x add o2.z, cb1[121].x, cb1[121].y mov o2.xy, l(0,0.500000,0,0) ret // Approximately 0 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] I also tried inswerting there and a few combos of the variables. Now I get some shadows in Stereo it looks but does not seem quite right.. I also noted some shadows did not do anything.. Here is the shader from High Shadows: [code] //Shadows High Conan // ---- Created with 3Dmigoto v1.2.61 on Sat Jul 01 22:16:39 2017 Texture2D<float4> t3 : register(t3); Texture2D<float4> t2 : register(t2); Texture2D<float4> t1 : register(t1); Texture2D<float4> t0 : register(t0); SamplerState s3_s : register(s3); SamplerState s2_s : register(s2); SamplerState s1_s : register(s1); SamplerState s0_s : register(s0); cbuffer cb2 : register(b2) { float4 cb2[4]; } cbuffer cb1 : register(b1) { float4 cb1[53]; } cbuffer cb0 : register(b0) { float4 cb0[32]; } // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); #include "matrix.hlsl" void main( float4 v0 : SV_POSITION0, out float4 o0 : SV_Target0) { float4 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10; uint4 bitmask, uiDest; float4 fDest; r0.xy = cb2[3].zw * v0.xy; r0.z = t2.SampleLevel(s2_s, r0.xy, 0).x; r0.z = r0.z * cb1[51].z + -cb1[51].w; r0.z = 1 / r0.z; r1.xy = v0.xy * cb2[3].zw + -cb1[52].wz; r1.xy = r1.xy / cb1[52].xy; r1.xy = r1.xy * r0.zz; r2.xyzw = cb0[28].xyzw * r1.yyyy; r1.xyzw = r1.xxxx * cb0[27].xyzw + r2.xyzw; r1.xyzw = r0.zzzz * cb0[29].xyzw + r1.xyzw; r1.xyzw = cb0[30].xyzw + r1.xyzw; r1.xy = r1.xy / r1.ww; float4 s = StereoParams.Load(0); matrix m = MATRIX(cb0, 0); matrix im = inverse(m); float4 t = mul(float4(r1.xyz, 1), im); t.x -= s.x * (t.w - s.y) * cb0[28].x / 2; r1.xyz = mul(t, m); r0.w = min(0.999989986, r1.z); r1.w = t0.SampleLevel(s0_s, r0.xy, 0).w; r1.w = 255 * r1.w; r1.w = round(r1.w); r1.w = (uint)r1.w; r2.x = (int)r1.w & 15; r1.xy = r1.xy * cb0[1].xy + float2(-0.5,-0.5); r2.yz = frac(r1.xy); r1.xy = floor(r1.xy); r1.xy = float2(0.5,0.5) + r1.xy; r1.xy = cb0[1].zw * r1.xy; r3.xyzw = t3.Gather(s3_s, r1.xy, int2(-1, -1)).xyzw; r4.xyzw = r3.xyzw + -r0.wwww; r4.xyzw = saturate(r4.xyzw * cb0[0].zzzz + float4(1,1,1,1)); r5.xyzw = t3.Gather(s3_s, r1.xy, int2(1, -1)).xyzw; r6.xyzw = r5.xyzw + -r0.wwww; r6.xyzw = saturate(r6.xyzw * cb0[0].zzzz + float4(1,1,1,1)); r7.xyzw = t3.Gather(s3_s, r1.xy, int2(-1, 1)).xyzw; r8.xyzw = r7.xyzw + -r0.wwww; r8.xyzw = saturate(r8.xyzw * cb0[0].zzzz + float4(1,1,1,1)); r9.xyzw = t3.Gather(s3_s, r1.xy, int2(1, 1)).xyzw; r10.xyzw = r9.xyzw + -r0.wwww; r10.xyzw = saturate(r10.xyzw * cb0[0].zzzz + float4(1,1,1,1)); r1.xy = float2(1,1) + -r2.yz; r4.xy = r4.wx * r1.xx + r4.zy; r4.zw = r8.wx * r1.xx + r8.zy; r4.xy = r4.xy + r6.wx; r4.zw = r4.zw + r10.wx; r6.xy = r6.zy * r2.yy + r4.xy; r6.zw = r10.zy * r2.yy + r4.zw; r4.x = 0.111111112 * r1.y; r4.yz = float2(0.111111112,0.111111112); r4.w = 0.111111112 * r2.z; r0.w = dot(r6.xyzw, r4.xyzw); r0.z = -cb0[31].z + r0.z; r0.z = saturate(cb0[31].w * r0.z); o0.w = 1 + -r0.z; r6.xyzw = cmp((int4)r2.xxxx == int4(2,3,5,6)); r0.z = (int)r6.y | (int)r6.x; r0.z = (int)r6.z | (int)r0.z; r0.z = (int)r6.w | (int)r0.z; r2.xz = cmp((int2)r2.xx == int2(7,9)); r0.z = (int)r0.z | (int)r2.x; r0.z = (int)r2.z | (int)r0.z; if (r0.z != 0) { r0.x = t1.SampleLevel(s1_s, r0.xy, 0).w; r0.y = (int)r1.w & 16; r0.x = min(0.999000013, r0.x); r0.x = 1 + -r0.x; r0.x = log2(r0.x); r0.x = -0.0346573591 * r0.x; r0.x = r0.y ? -0 : r0.x; r0.y = (int)r2.z | (int)r2.x; r0.x = r0.y ? 1 : r0.x; r0.y = cb0[31].x + r1.z; r0.x = cb0[31].y * r0.x; r6.xyzw = r0.yyyy + -r3.xyzw; r6.xyzw = max(float4(0,0,0,0), r6.xyzw); r6.xyzw = -r6.xyzw * r0.xxxx; r6.xyzw = float4(1.44269502,1.44269502,1.44269502,1.44269502) * r6.xyzw; r6.xyzw = saturate(exp2(r6.xyzw)); r3.xyzw = cmp(float4(0.99000001,0.99000001,0.99000001,0.99000001) < r3.xyzw); r3.xyzw = r3.xyzw ? float4(1,1,1,1) : r6.xyzw; r6.xyzw = r0.yyyy + -r5.xyzw; r6.xyzw = max(float4(0,0,0,0), r6.xyzw); r6.xyzw = -r6.xyzw * r0.xxxx; r6.xyzw = float4(1.44269502,1.44269502,1.44269502,1.44269502) * r6.xyzw; r6.xyzw = saturate(exp2(r6.xyzw)); r5.xyzw = cmp(float4(0.99000001,0.99000001,0.99000001,0.99000001) < r5.xyzw); r5.xyzw = r5.xyzw ? float4(1,1,1,1) : r6.xyzw; r6.xyzw = r0.yyyy + -r7.xyzw; r6.xyzw = max(float4(0,0,0,0), r6.xyzw); r6.xyzw = -r6.xyzw * r0.xxxx; r6.xyzw = float4(1.44269502,1.44269502,1.44269502,1.44269502) * r6.xyzw; r6.xyzw = saturate(exp2(r6.xyzw)); r7.xyzw = cmp(float4(0.99000001,0.99000001,0.99000001,0.99000001) < r7.xyzw); r6.xyzw = r7.xyzw ? float4(1,1,1,1) : r6.xyzw; r7.xyzw = r0.yyyy + -r9.xyzw; r7.xyzw = max(float4(0,0,0,0), r7.xyzw); r7.xyzw = -r7.xyzw * r0.xxxx; r7.xyzw = float4(1.44269502,1.44269502,1.44269502,1.44269502) * r7.xyzw; r7.xyzw = saturate(exp2(r7.xyzw)); r8.xyzw = cmp(float4(0.99000001,0.99000001,0.99000001,0.99000001) < r9.xyzw); r7.xyzw = r8.xyzw ? float4(1,1,1,1) : r7.xyzw; r0.xy = r3.wx * r1.xx + r3.zy; r1.xy = r6.wx * r1.xx + r6.zy; r0.xy = r0.xy + r5.wx; r1.xy = r1.xy + r7.wx; r3.xy = r5.zy * r2.yy + r0.xy; r3.zw = r7.zy * r2.yy + r1.xy; r0.x = dot(r3.xyzw, r4.xyzw); } else { r0.x = 1; } r0.y = -0.5 + r0.w; r0.y = saturate(r0.y * cb0[26].z + 0.5); r0.y = r0.y * r0.y + -1; r0.y = cb0[26].y * r0.y + 1; r0.x = r0.x * r0.x + -1; r0.x = cb0[26].y * r0.x + 1; o0.xyz = sqrt(r0.yxy); return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) D3D Shader Disassembler // // using 3Dmigoto v1.2.61 on Sat Jul 01 22:16:39 2017 // // // Note: shader requires additional functionality: // Early depth-stencil // // // 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 | forceEarlyDepthStencil dcl_constantbuffer cb0[32], immediateIndexed dcl_constantbuffer cb1[53], immediateIndexed dcl_constantbuffer cb2[4], immediateIndexed dcl_sampler s0, mode_default dcl_sampler s1, mode_default dcl_sampler s2, mode_default dcl_sampler s3, mode_default 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 11 mul r0.xy, v0.xyxx, cb2[3].zwzz sample_l_indexable(texture2d)(float,float,float,float) r0.z, r0.xyxx, t2.yzxw, s2, l(0.000000) mad r0.z, r0.z, cb1[51].z, -cb1[51].w div r0.z, l(1.000000, 1.000000, 1.000000, 1.000000), r0.z mad r1.xy, v0.xyxx, cb2[3].zwzz, -cb1[52].wzww div r1.xy, r1.xyxx, cb1[52].xyxx mul r1.xy, r0.zzzz, r1.xyxx mul r2.xyzw, r1.yyyy, cb0[28].xyzw mad r1.xyzw, r1.xxxx, cb0[27].xyzw, r2.xyzw mad r1.xyzw, r0.zzzz, cb0[29].xyzw, r1.xyzw add r1.xyzw, r1.xyzw, cb0[30].xyzw div r1.xy, r1.xyxx, r1.wwww min r0.w, r1.z, l(0.999990) sample_l_indexable(texture2d)(float,float,float,float) r1.w, r0.xyxx, t0.xyzw, s0, l(0.000000) mul r1.w, r1.w, l(255.000000) round_ne r1.w, r1.w ftou r1.w, r1.w and r2.x, r1.w, l(15) mad r1.xy, r1.xyxx, cb0[1].xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000) frc r2.yz, r1.xxyx round_ni r1.xy, r1.xyxx add r1.xy, r1.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000) mul r1.xy, r1.xyxx, cb0[1].zwzz gather4_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r3.xyzw, r1.xyxx, t3.xyzw, s3.x add r4.xyzw, -r0.wwww, r3.xyzw mad_sat r4.xyzw, r4.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000) gather4_aoffimmi_indexable(1,-1,0)(texture2d)(float,float,float,float) r5.xyzw, r1.xyxx, t3.xyzw, s3.x add r6.xyzw, -r0.wwww, r5.xyzw mad_sat r6.xyzw, r6.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000) gather4_aoffimmi_indexable(-1,1,0)(texture2d)(float,float,float,float) r7.xyzw, r1.xyxx, t3.xyzw, s3.x add r8.xyzw, -r0.wwww, r7.xyzw mad_sat r8.xyzw, r8.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000) gather4_aoffimmi_indexable(1,1,0)(texture2d)(float,float,float,float) r9.xyzw, r1.xyxx, t3.xyzw, s3.x add r10.xyzw, -r0.wwww, r9.xyzw mad_sat r10.xyzw, r10.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000) add r1.xy, -r2.yzyy, l(1.000000, 1.000000, 0.000000, 0.000000) mad r4.xy, r4.wxww, r1.xxxx, r4.zyzz mad r4.zw, r8.wwwx, r1.xxxx, r8.zzzy add r4.xy, r6.wxww, r4.xyxx add r4.zw, r10.wwwx, r4.zzzw mad r6.xy, r6.zyzz, r2.yyyy, r4.xyxx mad r6.zw, r10.zzzy, r2.yyyy, r4.zzzw mul r4.x, r1.y, l(0.111111112) mov r4.yz, l(0,0.111111112,0.111111112,0) mul r4.w, r2.z, l(0.111111112) dp4 r0.w, r6.xyzw, r4.xyzw add r0.z, r0.z, -cb0[31].z mul_sat r0.z, r0.z, cb0[31].w add o0.w, -r0.z, l(1.000000) ieq r6.xyzw, r2.xxxx, l(2, 3, 5, 6) or r0.z, r6.y, r6.x or r0.z, r6.z, r0.z or r0.z, r6.w, r0.z ieq r2.xz, r2.xxxx, l(7, 0, 9, 0) or r0.z, r0.z, r2.x or r0.z, r2.z, r0.z if_nz r0.z sample_l_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t1.wxyz, s1, l(0.000000) and r0.y, r1.w, l(16) min r0.x, r0.x, l(0.999000) add r0.x, -r0.x, l(1.000000) log r0.x, r0.x mul r0.x, r0.x, l(-0.0346573591) movc r0.x, r0.y, l(-0.000000), r0.x or r0.y, r2.z, r2.x movc r0.x, r0.y, l(1.000000), r0.x add r0.y, r1.z, cb0[31].x mul r0.x, r0.x, cb0[31].y add r6.xyzw, -r3.xyzw, r0.yyyy max r6.xyzw, r6.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) mul r6.xyzw, r0.xxxx, -r6.xyzw mul r6.xyzw, r6.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695) exp_sat r6.xyzw, r6.xyzw lt r3.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r3.xyzw movc r3.xyzw, r3.xyzw, l(1.000000,1.000000,1.000000,1.000000), r6.xyzw add r6.xyzw, -r5.xyzw, r0.yyyy max r6.xyzw, r6.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) mul r6.xyzw, r0.xxxx, -r6.xyzw mul r6.xyzw, r6.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695) exp_sat r6.xyzw, r6.xyzw lt r5.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r5.xyzw movc r5.xyzw, r5.xyzw, l(1.000000,1.000000,1.000000,1.000000), r6.xyzw add r6.xyzw, -r7.xyzw, r0.yyyy max r6.xyzw, r6.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) mul r6.xyzw, r0.xxxx, -r6.xyzw mul r6.xyzw, r6.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695) exp_sat r6.xyzw, r6.xyzw lt r7.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r7.xyzw movc r6.xyzw, r7.xyzw, l(1.000000,1.000000,1.000000,1.000000), r6.xyzw add r7.xyzw, -r9.xyzw, r0.yyyy max r7.xyzw, r7.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) mul r7.xyzw, r0.xxxx, -r7.xyzw mul r7.xyzw, r7.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695) exp_sat r7.xyzw, r7.xyzw lt r8.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r9.xyzw movc r7.xyzw, r8.xyzw, l(1.000000,1.000000,1.000000,1.000000), r7.xyzw mad r0.xy, r3.wxww, r1.xxxx, r3.zyzz mad r1.xy, r6.wxww, r1.xxxx, r6.zyzz add r0.xy, r5.wxww, r0.xyxx add r1.xy, r7.wxww, r1.xyxx mad r3.xy, r5.zyzz, r2.yyyy, r0.xyxx mad r3.zw, r7.zzzy, r2.yyyy, r1.xxxy dp4 r0.x, r3.xyzw, r4.xyzw else mov r0.x, l(1.000000) endif add r0.y, r0.w, l(-0.500000) mad_sat r0.y, r0.y, cb0[26].z, l(0.500000) mad r0.y, r0.y, r0.y, l(-1.000000) mad r0.y, cb0[26].y, r0.y, l(1.000000) mad r0.x, r0.x, r0.x, l(-1.000000) mad r0.x, cb0[26].y, r0.x, l(1.000000) sqrt o0.xyz, r0.yxyy ret // Approximately 0 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] I inserted the following from the Little Nightmare code: [code] float4 s = StereoParams.Load(0); matrix m = MATRIX(cb0, 0); matrix im = inverse(m); float4 t = mul(float4(r0.xyz, 1), im); t.x -= s.x * (t.w - s.y) * cb1[116].x / 2; r0.xyz = mul(t, m); [/code] here are some pictures from the after effect of the code: Sandbox 06 has the shadows from the Palm trees that appear to be in S3D.. Now below where I am standing there is a one eye effect in the right eye that should not be there which throws off the shadows... Sandbox 07 has where some shadows are not in S3D like the plants and monster there.. I was hoping for some help on fixing these shadows.. I also am using the matrix.hlsl if that is even needed I am unsure??
Well I am trying to fix the Shadows currently I am makeing a bit of Progress but don't quite get it.. I am going to ask another user to come here and look at the code..

Here is the Working shader code from Little Nightmares:


// Shadow
Texture2D<float4> t1 : register(t1);

Texture2D<float4> t0 : register(t0);

SamplerState s1_s : register(s1);

SamplerState s0_s : register(s0);

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

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

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




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

#include "matrix.hlsl"

void main(
float4 v0 : SV_Position0,
uint v1 : SV_IsFrontFace0,
out float4 o0 : SV_Target0,
out float4 o2 : SV_Target2,
out float4 o3 : SV_Target3)
{
float4 r0,r1;
uint4 bitmask, uiDest;
float4 fDest;

r0.xy = cb1[116].zw * v0.xy;
r0.x = t1.SampleLevel(s1_s, r0.xy, 0).x;
r1.xyzw = cb0[1].xyzw * v0.yyyy;
r1.xyzw = v0.xxxx * cb0[0].xyzw + r1.xyzw;
r0.xyzw = r0.xxxx * cb0[2].xyzw + r1.xyzw;
r0.xyzw = cb0[3].xyzw + r0.xyzw;
r0.xyz = r0.xyz / r0.www;

float4 s = StereoParams.Load(0);
matrix m = MATRIX(cb0, 0);
matrix im = inverse(m);
float4 t = mul(float4(r0.xyz, 1), im);
t.x -= s.x * (t.w - s.y) * cb1[116].x / 2;
r0.xyz = mul(t, m);


r1.xyz = float3(1,1,1) + r0.xyz;
r1.xyz = cmp(r1.xyz < float3(0,0,0));
r0.w = (int)r1.y | (int)r1.x;
r0.w = (int)r1.z | (int)r0.w;
if (r0.w != 0) discard;
r1.xyz = float3(1,1,1) + -r0.xyz;
r0.xyz = r0.xyz * float3(0.5,0.5,0.5) + float3(0.5,0.5,0.5);
r1.xyz = cmp(r1.xyz < float3(0,0,0));
r0.w = (int)r1.y | (int)r1.x;
r0.w = (int)r1.z | (int)r0.w;
if (r0.w != 0) discard;
r0.x = r0.x * 2 + -1;
r0.yzw = t0.Sample(s0_s, r0.zy).xyz;
r0.x = saturate(-abs(r0.x) * 4 + 4);
r0.y = 0.600000024 * r0.y;
r0.zw = cb2[3].yz * r0.zw;
o3.yz = saturate(float2(0.600000024,0.600000024) * r0.zw);
r0.z = saturate(r0.y);
o3.x = saturate(cb2[3].x * r0.y);
r0.x = r0.z * r0.x;
r0.x = cb0[12].x * r0.x;
o0.w = r0.x;
o0.xyz = max(float3(0,0,0), cb2[2].xyz);
o2.w = r0.x;
o3.w = r0.x;
o2.z = cb1[121].y + cb1[121].x;
o2.xy = float2(0,0.5);
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
// using 3Dmigoto v1.2.57 on Sat Apr 29 12:32:19 2017
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position 0 xyzw 0 POS float xy
// SV_IsFrontFace 0 x 1 FFACE uint
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target 0 xyzw 0 TARGET float xyzw
// SV_Target 2 xyzw 2 TARGET float xyzw
// SV_Target 3 xyzw 3 TARGET float xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[13], immediateIndexed
dcl_constantbuffer cb1[122], immediateIndexed
dcl_constantbuffer cb2[4], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_output o0.xyzw
dcl_output o2.xyzw
dcl_output o3.xyzw
dcl_temps 2
mul r0.xy, v0.xyxx, cb1[116].zwzz
sample_l_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t1.xyzw, s1, l(0.000000)
mul r1.xyzw, v0.yyyy, cb0[1].xyzw
mad r1.xyzw, v0.xxxx, cb0[0].xyzw, r1.xyzw
mad r0.xyzw, r0.xxxx, cb0[2].xyzw, r1.xyzw
add r0.xyzw, r0.xyzw, cb0[3].xyzw
div r0.xyz, r0.xyzx, r0.wwww
add r1.xyz, r0.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
lt r1.xyz, r1.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
or r0.w, r1.y, r1.x
or r0.w, r1.z, r0.w
discard_nz r0.w
add r1.xyz, -r0.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
mad r0.xyz, r0.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000)
lt r1.xyz, r1.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
or r0.w, r1.y, r1.x
or r0.w, r1.z, r0.w
discard_nz r0.w
mad r0.x, r0.x, l(2.000000), l(-1.000000)
sample_indexable(texture2d)(float,float,float,float) r0.yzw, r0.zyzz, t0.wxyz, s0
mad_sat r0.x, -|r0.x|, l(4.000000), l(4.000000)
mul r0.y, r0.y, l(0.600000)
mul r0.zw, r0.zzzw, cb2[3].yyyz
mul_sat o3.yz, r0.zzwz, l(0.000000, 0.600000, 0.600000, 0.000000)
mov_sat r0.z, r0.y
mul_sat o3.x, r0.y, cb2[3].x
mul r0.x, r0.x, r0.z
mul r0.x, r0.x, cb0[12].x
mov o0.w, r0.x
max o0.xyz, cb2[2].xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
mov o2.w, r0.x
mov o3.w, r0.x
add o2.z, cb1[121].x, cb1[121].y
mov o2.xy, l(0,0.500000,0,0)
ret
// Approximately 0 instruction slots used

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



I also tried inswerting there and a few combos of the variables. Now I get some shadows in Stereo it looks but does not seem quite right.. I also noted some shadows did not do anything..

Here is the shader from High Shadows:


//Shadows High Conan
// ---- Created with 3Dmigoto v1.2.61 on Sat Jul 01 22:16:39 2017
Texture2D<float4> t3 : register(t3);

Texture2D<float4> t2 : register(t2);

Texture2D<float4> t1 : register(t1);

Texture2D<float4> t0 : register(t0);

SamplerState s3_s : register(s3);

SamplerState s2_s : register(s2);

SamplerState s1_s : register(s1);

SamplerState s0_s : register(s0);

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

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

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




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

#include "matrix.hlsl"


void main(
float4 v0 : SV_POSITION0,
out float4 o0 : SV_Target0)
{
float4 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10;
uint4 bitmask, uiDest;
float4 fDest;

r0.xy = cb2[3].zw * v0.xy;
r0.z = t2.SampleLevel(s2_s, r0.xy, 0).x;
r0.z = r0.z * cb1[51].z + -cb1[51].w;
r0.z = 1 / r0.z;
r1.xy = v0.xy * cb2[3].zw + -cb1[52].wz;
r1.xy = r1.xy / cb1[52].xy;
r1.xy = r1.xy * r0.zz;
r2.xyzw = cb0[28].xyzw * r1.yyyy;
r1.xyzw = r1.xxxx * cb0[27].xyzw + r2.xyzw;
r1.xyzw = r0.zzzz * cb0[29].xyzw + r1.xyzw;
r1.xyzw = cb0[30].xyzw + r1.xyzw;
r1.xy = r1.xy / r1.ww;

float4 s = StereoParams.Load(0);
matrix m = MATRIX(cb0, 0);
matrix im = inverse(m);
float4 t = mul(float4(r1.xyz, 1), im);
t.x -= s.x * (t.w - s.y) * cb0[28].x / 2;
r1.xyz = mul(t, m);




r0.w = min(0.999989986, r1.z);
r1.w = t0.SampleLevel(s0_s, r0.xy, 0).w;
r1.w = 255 * r1.w;
r1.w = round(r1.w);
r1.w = (uint)r1.w;
r2.x = (int)r1.w & 15;
r1.xy = r1.xy * cb0[1].xy + float2(-0.5,-0.5);
r2.yz = frac(r1.xy);
r1.xy = floor(r1.xy);
r1.xy = float2(0.5,0.5) + r1.xy;
r1.xy = cb0[1].zw * r1.xy;
r3.xyzw = t3.Gather(s3_s, r1.xy, int2(-1, -1)).xyzw;
r4.xyzw = r3.xyzw + -r0.wwww;
r4.xyzw = saturate(r4.xyzw * cb0[0].zzzz + float4(1,1,1,1));
r5.xyzw = t3.Gather(s3_s, r1.xy, int2(1, -1)).xyzw;
r6.xyzw = r5.xyzw + -r0.wwww;
r6.xyzw = saturate(r6.xyzw * cb0[0].zzzz + float4(1,1,1,1));
r7.xyzw = t3.Gather(s3_s, r1.xy, int2(-1, 1)).xyzw;
r8.xyzw = r7.xyzw + -r0.wwww;
r8.xyzw = saturate(r8.xyzw * cb0[0].zzzz + float4(1,1,1,1));
r9.xyzw = t3.Gather(s3_s, r1.xy, int2(1, 1)).xyzw;
r10.xyzw = r9.xyzw + -r0.wwww;
r10.xyzw = saturate(r10.xyzw * cb0[0].zzzz + float4(1,1,1,1));
r1.xy = float2(1,1) + -r2.yz;
r4.xy = r4.wx * r1.xx + r4.zy;
r4.zw = r8.wx * r1.xx + r8.zy;
r4.xy = r4.xy + r6.wx;
r4.zw = r4.zw + r10.wx;
r6.xy = r6.zy * r2.yy + r4.xy;
r6.zw = r10.zy * r2.yy + r4.zw;
r4.x = 0.111111112 * r1.y;
r4.yz = float2(0.111111112,0.111111112);
r4.w = 0.111111112 * r2.z;
r0.w = dot(r6.xyzw, r4.xyzw);
r0.z = -cb0[31].z + r0.z;
r0.z = saturate(cb0[31].w * r0.z);
o0.w = 1 + -r0.z;
r6.xyzw = cmp((int4)r2.xxxx == int4(2,3,5,6));
r0.z = (int)r6.y | (int)r6.x;
r0.z = (int)r6.z | (int)r0.z;
r0.z = (int)r6.w | (int)r0.z;
r2.xz = cmp((int2)r2.xx == int2(7,9));
r0.z = (int)r0.z | (int)r2.x;
r0.z = (int)r2.z | (int)r0.z;
if (r0.z != 0) {
r0.x = t1.SampleLevel(s1_s, r0.xy, 0).w;
r0.y = (int)r1.w & 16;
r0.x = min(0.999000013, r0.x);
r0.x = 1 + -r0.x;
r0.x = log2(r0.x);
r0.x = -0.0346573591 * r0.x;
r0.x = r0.y ? -0 : r0.x;
r0.y = (int)r2.z | (int)r2.x;
r0.x = r0.y ? 1 : r0.x;
r0.y = cb0[31].x + r1.z;
r0.x = cb0[31].y * r0.x;
r6.xyzw = r0.yyyy + -r3.xyzw;
r6.xyzw = max(float4(0,0,0,0), r6.xyzw);
r6.xyzw = -r6.xyzw * r0.xxxx;
r6.xyzw = float4(1.44269502,1.44269502,1.44269502,1.44269502) * r6.xyzw;
r6.xyzw = saturate(exp2(r6.xyzw));
r3.xyzw = cmp(float4(0.99000001,0.99000001,0.99000001,0.99000001) < r3.xyzw);
r3.xyzw = r3.xyzw ? float4(1,1,1,1) : r6.xyzw;
r6.xyzw = r0.yyyy + -r5.xyzw;
r6.xyzw = max(float4(0,0,0,0), r6.xyzw);
r6.xyzw = -r6.xyzw * r0.xxxx;
r6.xyzw = float4(1.44269502,1.44269502,1.44269502,1.44269502) * r6.xyzw;
r6.xyzw = saturate(exp2(r6.xyzw));
r5.xyzw = cmp(float4(0.99000001,0.99000001,0.99000001,0.99000001) < r5.xyzw);
r5.xyzw = r5.xyzw ? float4(1,1,1,1) : r6.xyzw;
r6.xyzw = r0.yyyy + -r7.xyzw;
r6.xyzw = max(float4(0,0,0,0), r6.xyzw);
r6.xyzw = -r6.xyzw * r0.xxxx;
r6.xyzw = float4(1.44269502,1.44269502,1.44269502,1.44269502) * r6.xyzw;
r6.xyzw = saturate(exp2(r6.xyzw));
r7.xyzw = cmp(float4(0.99000001,0.99000001,0.99000001,0.99000001) < r7.xyzw);
r6.xyzw = r7.xyzw ? float4(1,1,1,1) : r6.xyzw;
r7.xyzw = r0.yyyy + -r9.xyzw;
r7.xyzw = max(float4(0,0,0,0), r7.xyzw);
r7.xyzw = -r7.xyzw * r0.xxxx;
r7.xyzw = float4(1.44269502,1.44269502,1.44269502,1.44269502) * r7.xyzw;
r7.xyzw = saturate(exp2(r7.xyzw));
r8.xyzw = cmp(float4(0.99000001,0.99000001,0.99000001,0.99000001) < r9.xyzw);
r7.xyzw = r8.xyzw ? float4(1,1,1,1) : r7.xyzw;
r0.xy = r3.wx * r1.xx + r3.zy;
r1.xy = r6.wx * r1.xx + r6.zy;
r0.xy = r0.xy + r5.wx;
r1.xy = r1.xy + r7.wx;
r3.xy = r5.zy * r2.yy + r0.xy;
r3.zw = r7.zy * r2.yy + r1.xy;
r0.x = dot(r3.xyzw, r4.xyzw);
} else {
r0.x = 1;
}
r0.y = -0.5 + r0.w;
r0.y = saturate(r0.y * cb0[26].z + 0.5);
r0.y = r0.y * r0.y + -1;
r0.y = cb0[26].y * r0.y + 1;
r0.x = r0.x * r0.x + -1;
r0.x = cb0[26].y * r0.x + 1;
o0.xyz = sqrt(r0.yxy);
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
// using 3Dmigoto v1.2.61 on Sat Jul 01 22:16:39 2017
//
//
// Note: shader requires additional functionality:
// Early depth-stencil
//
//
// 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 | forceEarlyDepthStencil
dcl_constantbuffer cb0[32], immediateIndexed
dcl_constantbuffer cb1[53], immediateIndexed
dcl_constantbuffer cb2[4], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, mode_default
dcl_sampler s3, mode_default
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 11
mul r0.xy, v0.xyxx, cb2[3].zwzz
sample_l_indexable(texture2d)(float,float,float,float) r0.z, r0.xyxx, t2.yzxw, s2, l(0.000000)
mad r0.z, r0.z, cb1[51].z, -cb1[51].w
div r0.z, l(1.000000, 1.000000, 1.000000, 1.000000), r0.z
mad r1.xy, v0.xyxx, cb2[3].zwzz, -cb1[52].wzww
div r1.xy, r1.xyxx, cb1[52].xyxx
mul r1.xy, r0.zzzz, r1.xyxx
mul r2.xyzw, r1.yyyy, cb0[28].xyzw
mad r1.xyzw, r1.xxxx, cb0[27].xyzw, r2.xyzw
mad r1.xyzw, r0.zzzz, cb0[29].xyzw, r1.xyzw
add r1.xyzw, r1.xyzw, cb0[30].xyzw
div r1.xy, r1.xyxx, r1.wwww
min r0.w, r1.z, l(0.999990)
sample_l_indexable(texture2d)(float,float,float,float) r1.w, r0.xyxx, t0.xyzw, s0, l(0.000000)
mul r1.w, r1.w, l(255.000000)
round_ne r1.w, r1.w
ftou r1.w, r1.w
and r2.x, r1.w, l(15)
mad r1.xy, r1.xyxx, cb0[1].xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
frc r2.yz, r1.xxyx
round_ni r1.xy, r1.xyxx
add r1.xy, r1.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
mul r1.xy, r1.xyxx, cb0[1].zwzz
gather4_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r3.xyzw, r1.xyxx, t3.xyzw, s3.x
add r4.xyzw, -r0.wwww, r3.xyzw
mad_sat r4.xyzw, r4.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000)
gather4_aoffimmi_indexable(1,-1,0)(texture2d)(float,float,float,float) r5.xyzw, r1.xyxx, t3.xyzw, s3.x
add r6.xyzw, -r0.wwww, r5.xyzw
mad_sat r6.xyzw, r6.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000)
gather4_aoffimmi_indexable(-1,1,0)(texture2d)(float,float,float,float) r7.xyzw, r1.xyxx, t3.xyzw, s3.x
add r8.xyzw, -r0.wwww, r7.xyzw
mad_sat r8.xyzw, r8.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000)
gather4_aoffimmi_indexable(1,1,0)(texture2d)(float,float,float,float) r9.xyzw, r1.xyxx, t3.xyzw, s3.x
add r10.xyzw, -r0.wwww, r9.xyzw
mad_sat r10.xyzw, r10.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000)
add r1.xy, -r2.yzyy, l(1.000000, 1.000000, 0.000000, 0.000000)
mad r4.xy, r4.wxww, r1.xxxx, r4.zyzz
mad r4.zw, r8.wwwx, r1.xxxx, r8.zzzy
add r4.xy, r6.wxww, r4.xyxx
add r4.zw, r10.wwwx, r4.zzzw
mad r6.xy, r6.zyzz, r2.yyyy, r4.xyxx
mad r6.zw, r10.zzzy, r2.yyyy, r4.zzzw
mul r4.x, r1.y, l(0.111111112)
mov r4.yz, l(0,0.111111112,0.111111112,0)
mul r4.w, r2.z, l(0.111111112)
dp4 r0.w, r6.xyzw, r4.xyzw
add r0.z, r0.z, -cb0[31].z
mul_sat r0.z, r0.z, cb0[31].w
add o0.w, -r0.z, l(1.000000)
ieq r6.xyzw, r2.xxxx, l(2, 3, 5, 6)
or r0.z, r6.y, r6.x
or r0.z, r6.z, r0.z
or r0.z, r6.w, r0.z
ieq r2.xz, r2.xxxx, l(7, 0, 9, 0)
or r0.z, r0.z, r2.x
or r0.z, r2.z, r0.z
if_nz r0.z
sample_l_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t1.wxyz, s1, l(0.000000)
and r0.y, r1.w, l(16)
min r0.x, r0.x, l(0.999000)
add r0.x, -r0.x, l(1.000000)
log r0.x, r0.x
mul r0.x, r0.x, l(-0.0346573591)
movc r0.x, r0.y, l(-0.000000), r0.x
or r0.y, r2.z, r2.x
movc r0.x, r0.y, l(1.000000), r0.x
add r0.y, r1.z, cb0[31].x
mul r0.x, r0.x, cb0[31].y
add r6.xyzw, -r3.xyzw, r0.yyyy
max r6.xyzw, r6.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r6.xyzw, r0.xxxx, -r6.xyzw
mul r6.xyzw, r6.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695)
exp_sat r6.xyzw, r6.xyzw
lt r3.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r3.xyzw
movc r3.xyzw, r3.xyzw, l(1.000000,1.000000,1.000000,1.000000), r6.xyzw
add r6.xyzw, -r5.xyzw, r0.yyyy
max r6.xyzw, r6.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r6.xyzw, r0.xxxx, -r6.xyzw
mul r6.xyzw, r6.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695)
exp_sat r6.xyzw, r6.xyzw
lt r5.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r5.xyzw
movc r5.xyzw, r5.xyzw, l(1.000000,1.000000,1.000000,1.000000), r6.xyzw
add r6.xyzw, -r7.xyzw, r0.yyyy
max r6.xyzw, r6.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r6.xyzw, r0.xxxx, -r6.xyzw
mul r6.xyzw, r6.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695)
exp_sat r6.xyzw, r6.xyzw
lt r7.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r7.xyzw
movc r6.xyzw, r7.xyzw, l(1.000000,1.000000,1.000000,1.000000), r6.xyzw
add r7.xyzw, -r9.xyzw, r0.yyyy
max r7.xyzw, r7.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r7.xyzw, r0.xxxx, -r7.xyzw
mul r7.xyzw, r7.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695)
exp_sat r7.xyzw, r7.xyzw
lt r8.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r9.xyzw
movc r7.xyzw, r8.xyzw, l(1.000000,1.000000,1.000000,1.000000), r7.xyzw
mad r0.xy, r3.wxww, r1.xxxx, r3.zyzz
mad r1.xy, r6.wxww, r1.xxxx, r6.zyzz
add r0.xy, r5.wxww, r0.xyxx
add r1.xy, r7.wxww, r1.xyxx
mad r3.xy, r5.zyzz, r2.yyyy, r0.xyxx
mad r3.zw, r7.zzzy, r2.yyyy, r1.xxxy
dp4 r0.x, r3.xyzw, r4.xyzw
else
mov r0.x, l(1.000000)
endif
add r0.y, r0.w, l(-0.500000)
mad_sat r0.y, r0.y, cb0[26].z, l(0.500000)
mad r0.y, r0.y, r0.y, l(-1.000000)
mad r0.y, cb0[26].y, r0.y, l(1.000000)
mad r0.x, r0.x, r0.x, l(-1.000000)
mad r0.x, cb0[26].y, r0.x, l(1.000000)
sqrt o0.xyz, r0.yxyy
ret
// Approximately 0 instruction slots used

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




I inserted the following from the Little Nightmare code:

float4 s = StereoParams.Load(0);
matrix m = MATRIX(cb0, 0);
matrix im = inverse(m);
float4 t = mul(float4(r0.xyz, 1), im);
t.x -= s.x * (t.w - s.y) * cb1[116].x / 2;
r0.xyz = mul(t, m);


here are some pictures from the after effect of the code:

Sandbox 06 has the shadows from the Palm trees that appear to be in S3D.. Now below where I am standing there is a one eye effect in the right eye that should not be there which throws off the shadows...

Sandbox 07 has where some shadows are not in S3D like the plants and monster there.. I was hoping for some help on fixing these shadows..

I also am using the matrix.hlsl if that is even needed I am unsure??

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#34
Posted 07/02/2017 02:33 AM   
I think I had the wrong shader. I went through them again and seen 3 main shadow shaders: 1. 267cd9c39dbbb160 2. fe6df6fdfe8dc282 3. 8612b085be8642a8 I will list only the one as too keepo the confusion of which One I am working on.. I will be working on #2 fe6df6fdfe8dc282.. here is the code: [code] // ---- Created with 3Dmigoto v1.2.61 on Sun Jul 02 03:06:04 2017 Texture2DArray<float4> t1 : register(t1); Texture2D<float4> t0 : register(t0); SamplerState s0_s : register(s0); cbuffer cb0 : register(b0) { float4 cb0[13]; } // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); void main( float4 v0 : TEXCOORD10, float4 v1 : TEXCOORD11, float4 v2 : COLOR1, float4 v3 : TEXCOORD0, float v4 : TEXCOORD6, float3 w4 : TEXCOORD7, float4 v5 : SV_Position0, out float4 o0 : SV_Target0) { float4 r0,r1,r2,r3,r4; uint4 bitmask, uiDest; float4 fDest; r0.xy = floor(v5.xy); r0.x = dot(r0.xy, float2(347.834503,3343.28369)); r0.x = cos(r0.x); r0.x = 1000 * r0.x; r0.x = frac(r0.x); r0.y = 1 + v2.w; r0.y = cmp(r0.x < r0.y); r0.x = cmp(v2.w < r0.x); r0.z = cmp(v2.w < 0); r0.x = r0.z ? r0.y : r0.x; r0.x = cmp((int)r0.x == 0); r0.y = cmp(0.00100000005 < abs(v2.w)); r0.x = r0.y ? r0.x : 0; if (r0.x != 0) discard; r0.xz = ddx_coarse(v3.xx); r0.w = 1 + -v3.y; r0.y = ddx_coarse(r0.w); r1.y = ddy_coarse(r0.w); r0.xyz = cb0[10].zwz * r0.xyz; r2.xy = cb0[12].xx * cb0[2].zw; r2.zw = r2.xy * r0.zy; r0.w = dot(r2.zw, r2.zw); r1.xz = ddy_coarse(v3.xx); r1.xyz = cb0[10].zwz * r1.xyz; r2.xy = r1.zy * r2.xy; r1.w = dot(r2.xy, r2.xy); r0.w = max(r1.w, r0.w); r0.w = log2(r0.w); r0.w = r0.w * 0.5 + -0.5; r0.w = max(0, r0.w); r0.w = min(cb0[11].x, r0.w); r0.w = 0.5 + r0.w; r0.w = floor(r0.w); r1.w = exp2(-r0.w); r2.zw = (int2)r0.ww; r3.x = frac(v3.x); r3.y = frac(-v3.y); r3.xy = r3.xy * cb0[10].zw + cb0[10].xy; r4.y = cb0[5].x * cb0[5].y; r4.x = cb0[5].x; r3.zw = r4.xy * r3.xy; r3.zw = r3.zw * r1.ww; r3.zw = floor(r3.zw); r2.xy = (int2)r3.zw; r0.w = t0.Load(r2.xyz).y; r1.w = (int)r0.w & 15; if (10 == 0) r2.x = 0; else if (10+14 < 32) { r2.x = (uint)r0.w << (32-(10 + 14)); r2.x = (uint)r2.x >> (32-10); } else r2.x = (uint)r0.w >> 14; if (10 == 0) r2.y = 0; else if (10+4 < 32) { r2.y = (uint)r0.w << (32-(10 + 4)); r2.y = (uint)r2.y >> (32-10); } else r2.y = (uint)r0.w >> 4; if (7 == 0) r2.z = 0; else if (7+24 < 32) { r2.z = (uint)r0.w << (32-(7 + 24)); r2.z = (uint)r2.z >> (32-7); } else r2.z = (uint)r0.w >> 24; r2.xyz = (uint3)r2.xyz; r0.w = (uint)r1.w; r4.xz = exp2(r0.ww); r4.y = cb0[5].y * r4.z; r3.xy = r4.xy * r3.xy; r4.xyz = cb0[4].xyx * r4.xyz; r4.xyz = cb0[7].xyx * r4.xyz; r3.xy = frac(r3.xy); r3.xy = r3.xy * cb0[4].xy + r2.xy; r2.xy = r3.xy * cb0[7].xy + cb0[7].zw; r0.w = cb0[12].x * cb0[3].x; r3.xyz = r4.xyz * r0.www; r0.xyz = r3.xyz * r0.xyz; r1.xyz = r3.xyz * r1.xyz; r0.x = t1.SampleGrad(s0_s, r2.xyz, r0.x, r1.x).w; r0.x = -0.333299994 + r0.x; r0.x = cmp(r0.x < 0); if (r0.x != 0) discard; o0.xyzw = float4(0,0,0,0); return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) D3D Shader Disassembler // // using 3Dmigoto v1.2.61 on Sun Jul 02 03:06:04 2017 // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // TEXCOORD 10 xyzw 0 NONE float // TEXCOORD 11 xyzw 1 NONE float // COLOR 1 xyzw 2 NONE float w // TEXCOORD 0 xyzw 3 NONE float xy // TEXCOORD 6 x 4 NONE float // TEXCOORD 7 yzw 4 NONE float // SV_Position 0 xyzw 5 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 cb0[13], immediateIndexed dcl_sampler s0, mode_default dcl_resource_texture2d (float,float,float,float) t0 dcl_resource_texture2darray (float,float,float,float) t1 dcl_input_ps linear v2.w dcl_input_ps linear v3.xy dcl_input_ps_siv linear noperspective v5.xy, position dcl_output o0.xyzw dcl_temps 5 round_ni r0.xy, v5.xyxx dp2 r0.x, r0.xyxx, l(347.834503, 3343.283691, 0.000000, 0.000000) sincos null, r0.x, r0.x mul r0.x, r0.x, l(1000.000000) frc r0.x, r0.x add r0.y, v2.w, l(1.000000) lt r0.y, r0.x, r0.y lt r0.x, v2.w, r0.x lt r0.z, v2.w, l(0.000000) movc r0.x, r0.z, r0.y, r0.x ieq r0.x, r0.x, l(0) lt r0.y, l(0.001000), |v2.w| and r0.x, r0.y, r0.x discard_nz r0.x deriv_rtx_coarse r0.xz, v3.xxxx add r0.w, -v3.y, l(1.000000) deriv_rtx_coarse r0.y, r0.w deriv_rty_coarse r1.y, r0.w mul r0.xyz, r0.xyzx, cb0[10].zwzz mul r2.xy, cb0[2].zwzz, cb0[12].xxxx mul r2.zw, r0.zzzy, r2.xxxy dp2 r0.w, r2.zwzz, r2.zwzz deriv_rty_coarse r1.xz, v3.xxxx mul r1.xyz, r1.xyzx, cb0[10].zwzz mul r2.xy, r2.xyxx, r1.zyzz dp2 r1.w, r2.xyxx, r2.xyxx max r0.w, r0.w, r1.w log r0.w, r0.w mad r0.w, r0.w, l(0.500000), l(-0.500000) max r0.w, r0.w, l(0.000000) min r0.w, r0.w, cb0[11].x add r0.w, r0.w, l(0.500000) round_ni r0.w, r0.w exp r1.w, -r0.w ftoi r2.zw, r0.wwww frc r3.x, v3.x frc r3.y, -v3.y mad r3.xy, r3.xyxx, cb0[10].zwzz, cb0[10].xyxx mul r4.y, cb0[5].y, cb0[5].x mov r4.x, cb0[5].x mul r3.zw, r3.xxxy, r4.xxxy mul r3.zw, r1.wwww, r3.zzzw round_ni r3.zw, r3.zzzw ftoi r2.xy, r3.zwzz ld_indexable(texture2d)(float,float,float,float) r0.w, r2.xyzw, t0.xzwy and r1.w, r0.w, l(15) ubfe r2.xyz, l(10, 10, 7, 0), l(14, 4, 24, 0), r0.wwww utof r2.xyz, r2.xyzx utof r0.w, r1.w exp r4.xz, r0.wwww mul r4.y, r4.z, cb0[5].y mul r3.xy, r3.xyxx, r4.xyxx mul r4.xyz, r4.xyzx, cb0[4].xyxx mul r4.xyz, r4.xyzx, cb0[7].xyxx frc r3.xy, r3.xyxx mad r3.xy, r3.xyxx, cb0[4].xyxx, r2.xyxx mad r2.xy, r3.xyxx, cb0[7].xyxx, cb0[7].zwzz mul r0.w, cb0[3].x, cb0[12].x mul r3.xyz, r0.wwww, r4.xyzx mul r0.xyz, r0.xyzx, r3.xyzx mul r1.xyz, r1.xyzx, r3.xyzx sample_d_indexable(texture2darray)(float,float,float,float) r0.x, r2.xyzx, t1.wxyz, s0, r0.xyzx, r1.xyzx add r0.x, r0.x, l(-0.333300) lt r0.x, r0.x, l(0.000000) discard_nz r0.x mov o0.xyzw, l(0,0,0,0) ret // Approximately 0 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] Now this looks nothing like the code I seen for the fix in Little Nightmares.. I was wondering what I might do here to fix shadows.. I left the origianl post there as I thought I had something and now the code is so different I am lost again..
I think I had the wrong shader. I went through them again and seen 3 main shadow shaders:

1. 267cd9c39dbbb160

2. fe6df6fdfe8dc282

3. 8612b085be8642a8


I will list only the one as too keepo the confusion of which One I am working on.. I will be working on #2 fe6df6fdfe8dc282..

here is the code:


// ---- Created with 3Dmigoto v1.2.61 on Sun Jul 02 03:06:04 2017
Texture2DArray<float4> t1 : register(t1);

Texture2D<float4> t0 : register(t0);

SamplerState s0_s : register(s0);

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




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


void main(
float4 v0 : TEXCOORD10,
float4 v1 : TEXCOORD11,
float4 v2 : COLOR1,
float4 v3 : TEXCOORD0,
float v4 : TEXCOORD6,
float3 w4 : TEXCOORD7,
float4 v5 : SV_Position0,
out float4 o0 : SV_Target0)
{
float4 r0,r1,r2,r3,r4;
uint4 bitmask, uiDest;
float4 fDest;

r0.xy = floor(v5.xy);
r0.x = dot(r0.xy, float2(347.834503,3343.28369));
r0.x = cos(r0.x);
r0.x = 1000 * r0.x;
r0.x = frac(r0.x);
r0.y = 1 + v2.w;
r0.y = cmp(r0.x < r0.y);
r0.x = cmp(v2.w < r0.x);
r0.z = cmp(v2.w < 0);
r0.x = r0.z ? r0.y : r0.x;
r0.x = cmp((int)r0.x == 0);
r0.y = cmp(0.00100000005 < abs(v2.w));
r0.x = r0.y ? r0.x : 0;
if (r0.x != 0) discard;
r0.xz = ddx_coarse(v3.xx);
r0.w = 1 + -v3.y;
r0.y = ddx_coarse(r0.w);
r1.y = ddy_coarse(r0.w);
r0.xyz = cb0[10].zwz * r0.xyz;
r2.xy = cb0[12].xx * cb0[2].zw;
r2.zw = r2.xy * r0.zy;
r0.w = dot(r2.zw, r2.zw);
r1.xz = ddy_coarse(v3.xx);
r1.xyz = cb0[10].zwz * r1.xyz;
r2.xy = r1.zy * r2.xy;
r1.w = dot(r2.xy, r2.xy);
r0.w = max(r1.w, r0.w);
r0.w = log2(r0.w);
r0.w = r0.w * 0.5 + -0.5;
r0.w = max(0, r0.w);
r0.w = min(cb0[11].x, r0.w);
r0.w = 0.5 + r0.w;
r0.w = floor(r0.w);
r1.w = exp2(-r0.w);
r2.zw = (int2)r0.ww;
r3.x = frac(v3.x);
r3.y = frac(-v3.y);
r3.xy = r3.xy * cb0[10].zw + cb0[10].xy;
r4.y = cb0[5].x * cb0[5].y;
r4.x = cb0[5].x;
r3.zw = r4.xy * r3.xy;
r3.zw = r3.zw * r1.ww;
r3.zw = floor(r3.zw);
r2.xy = (int2)r3.zw;
r0.w = t0.Load(r2.xyz).y;
r1.w = (int)r0.w & 15;
if (10 == 0) r2.x = 0; else if (10+14 < 32) { r2.x = (uint)r0.w << (32-(10 + 14)); r2.x = (uint)r2.x >> (32-10); } else r2.x = (uint)r0.w >> 14;
if (10 == 0) r2.y = 0; else if (10+4 < 32) { r2.y = (uint)r0.w << (32-(10 + 4)); r2.y = (uint)r2.y >> (32-10); } else r2.y = (uint)r0.w >> 4;
if (7 == 0) r2.z = 0; else if (7+24 < 32) { r2.z = (uint)r0.w << (32-(7 + 24)); r2.z = (uint)r2.z >> (32-7); } else r2.z = (uint)r0.w >> 24;
r2.xyz = (uint3)r2.xyz;
r0.w = (uint)r1.w;
r4.xz = exp2(r0.ww);
r4.y = cb0[5].y * r4.z;
r3.xy = r4.xy * r3.xy;
r4.xyz = cb0[4].xyx * r4.xyz;
r4.xyz = cb0[7].xyx * r4.xyz;
r3.xy = frac(r3.xy);
r3.xy = r3.xy * cb0[4].xy + r2.xy;
r2.xy = r3.xy * cb0[7].xy + cb0[7].zw;
r0.w = cb0[12].x * cb0[3].x;
r3.xyz = r4.xyz * r0.www;
r0.xyz = r3.xyz * r0.xyz;
r1.xyz = r3.xyz * r1.xyz;
r0.x = t1.SampleGrad(s0_s, r2.xyz, r0.x, r1.x).w;
r0.x = -0.333299994 + r0.x;
r0.x = cmp(r0.x < 0);
if (r0.x != 0) discard;
o0.xyzw = float4(0,0,0,0);
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
// using 3Dmigoto v1.2.61 on Sun Jul 02 03:06:04 2017
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD 10 xyzw 0 NONE float
// TEXCOORD 11 xyzw 1 NONE float
// COLOR 1 xyzw 2 NONE float w
// TEXCOORD 0 xyzw 3 NONE float xy
// TEXCOORD 6 x 4 NONE float
// TEXCOORD 7 yzw 4 NONE float
// SV_Position 0 xyzw 5 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 cb0[13], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2darray (float,float,float,float) t1
dcl_input_ps linear v2.w
dcl_input_ps linear v3.xy
dcl_input_ps_siv linear noperspective v5.xy, position
dcl_output o0.xyzw
dcl_temps 5
round_ni r0.xy, v5.xyxx
dp2 r0.x, r0.xyxx, l(347.834503, 3343.283691, 0.000000, 0.000000)
sincos null, r0.x, r0.x
mul r0.x, r0.x, l(1000.000000)
frc r0.x, r0.x
add r0.y, v2.w, l(1.000000)
lt r0.y, r0.x, r0.y
lt r0.x, v2.w, r0.x
lt r0.z, v2.w, l(0.000000)
movc r0.x, r0.z, r0.y, r0.x
ieq r0.x, r0.x, l(0)
lt r0.y, l(0.001000), |v2.w|
and r0.x, r0.y, r0.x
discard_nz r0.x
deriv_rtx_coarse r0.xz, v3.xxxx
add r0.w, -v3.y, l(1.000000)
deriv_rtx_coarse r0.y, r0.w
deriv_rty_coarse r1.y, r0.w
mul r0.xyz, r0.xyzx, cb0[10].zwzz
mul r2.xy, cb0[2].zwzz, cb0[12].xxxx
mul r2.zw, r0.zzzy, r2.xxxy
dp2 r0.w, r2.zwzz, r2.zwzz
deriv_rty_coarse r1.xz, v3.xxxx
mul r1.xyz, r1.xyzx, cb0[10].zwzz
mul r2.xy, r2.xyxx, r1.zyzz
dp2 r1.w, r2.xyxx, r2.xyxx
max r0.w, r0.w, r1.w
log r0.w, r0.w
mad r0.w, r0.w, l(0.500000), l(-0.500000)
max r0.w, r0.w, l(0.000000)
min r0.w, r0.w, cb0[11].x
add r0.w, r0.w, l(0.500000)
round_ni r0.w, r0.w
exp r1.w, -r0.w
ftoi r2.zw, r0.wwww
frc r3.x, v3.x
frc r3.y, -v3.y
mad r3.xy, r3.xyxx, cb0[10].zwzz, cb0[10].xyxx
mul r4.y, cb0[5].y, cb0[5].x
mov r4.x, cb0[5].x
mul r3.zw, r3.xxxy, r4.xxxy
mul r3.zw, r1.wwww, r3.zzzw
round_ni r3.zw, r3.zzzw
ftoi r2.xy, r3.zwzz
ld_indexable(texture2d)(float,float,float,float) r0.w, r2.xyzw, t0.xzwy
and r1.w, r0.w, l(15)
ubfe r2.xyz, l(10, 10, 7, 0), l(14, 4, 24, 0), r0.wwww
utof r2.xyz, r2.xyzx
utof r0.w, r1.w
exp r4.xz, r0.wwww
mul r4.y, r4.z, cb0[5].y
mul r3.xy, r3.xyxx, r4.xyxx
mul r4.xyz, r4.xyzx, cb0[4].xyxx
mul r4.xyz, r4.xyzx, cb0[7].xyxx
frc r3.xy, r3.xyxx
mad r3.xy, r3.xyxx, cb0[4].xyxx, r2.xyxx
mad r2.xy, r3.xyxx, cb0[7].xyxx, cb0[7].zwzz
mul r0.w, cb0[3].x, cb0[12].x
mul r3.xyz, r0.wwww, r4.xyzx
mul r0.xyz, r0.xyzx, r3.xyzx
mul r1.xyz, r1.xyzx, r3.xyzx
sample_d_indexable(texture2darray)(float,float,float,float) r0.x, r2.xyzx, t1.wxyz, s0, r0.xyzx, r1.xyzx
add r0.x, r0.x, l(-0.333300)
lt r0.x, r0.x, l(0.000000)
discard_nz r0.x
mov o0.xyzw, l(0,0,0,0)
ret
// Approximately 0 instruction slots used

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



Now this looks nothing like the code I seen for the fix in Little Nightmares.. I was wondering what I might do here to fix shadows.. I left the origianl post there as I thought I had something and now the code is so different I am lost again..

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#35
Posted 07/02/2017 07:24 AM   
I didn't read the whole thread, but... [quote="The_Nephilim"]Here is the shader from High Shadows: I inserted the following from the Little Nightmare code: [/quote] Wrong (I think). You don't need any external matrix there. You need to correct r1.x just before line 61 (or 228 if you do it in ASM). For example, look at my "5aa56137f9f0b40d-ps.txt" from Tekken 7 (remember, ASM fixed shaders need to not have "_replace" in their file name): [code] //Shadows 2. // ---- Created with 3Dmigoto v1.2.57 on Fri Jun 02 16:58:22 2017 // // Generated by Microsoft (R) D3D Shader Disassembler // // using 3Dmigoto v1.2.57 on Fri Jun 02 16:58:22 2017 // // // Note: shader requires additional functionality: // Early depth-stencil // // // 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 | forceEarlyDepthStencil dcl_constantbuffer cb0[32], immediateIndexed dcl_constantbuffer cb1[117], immediateIndexed dcl_sampler s0, mode_default dcl_sampler s1, mode_default dcl_sampler s2, mode_default dcl_sampler s3, mode_default 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 16 dcl_resource_texture2d (float,float,float,float) t125 mul r0.xy, v0.xyxx, cb1[116].zwzz sample_l_indexable(texture2d)(float,float,float,float) r0.z, r0.xyxx, t2.yzxw, s2, l(0.000000) mad r0.w, r0.z, cb1[51].x, cb1[51].y mad r0.z, r0.z, cb1[51].z, -cb1[51].w div r0.z, l(1.000000, 1.000000, 1.000000, 1.000000), r0.z add r0.z, r0.z, r0.w mad r1.xy, v0.xyxx, cb1[116].zwzz, -cb1[52].wzww div r1.xy, r1.xyxx, cb1[52].xyxx mul r1.xy, r0.zzzz, r1.xyxx ld_indexable(texture2d)(float,float,float,float) r21.xyzw, l(0, 0, 0, 0), t125.xyzw add r21.w, r0.z, -r21.y mad r1.x, r21.x, -r21.w, r1.x mul r2.xyzw, r1.yyyy, cb0[28].xyzw mad r1.xyzw, r1.xxxx, cb0[27].xyzw, r2.xyzw mad r1.xyzw, r0.zzzz, cb0[29].xyzw, r1.xyzw add r1.xyzw, r1.xyzw, cb0[30].xyzw div r0.zw, r1.xxxy, r1.wwww min r1.x, r1.z, l(0.999990) mad r0.zw, r0.zzzw, cb0[1].xxxy, l(0.000000, 0.000000, -0.500000, -0.500000) frc r1.yw, r0.zzzw round_ni r0.zw, r0.zzzw add r0.zw, r0.zzzw, l(0.000000, 0.000000, 0.500000, 0.500000) mul r0.zw, r0.zzzw, cb0[1].zzzw gather4_aoffimmi_indexable(-2,-2,0)(texture2d)(float,float,float,float) r2.xyzw, r0.zwzz, t3.xyzw, s3.x add r3.xyzw, -r1.xxxx, r2.xyzw mad_sat r3.xyzw, r3.xyzw, cb0[0].wwww, l(1.000000, 1.000000, 1.000000, 1.000000) gather4_aoffimmi_indexable(0,-2,0)(texture2d)(float,float,float,float) r4.xyzw, r0.zwzz, t3.xyzw, s3.x add r5.xyzw, -r1.xxxx, r4.xyzw mad_sat r5.xyzw, r5.xyzw, cb0[0].wwww, l(1.000000, 1.000000, 1.000000, 1.000000) gather4_aoffimmi_indexable(2,-2,0)(texture2d)(float,float,float,float) r6.xyzw, r0.zwzz, t3.xyzw, s3.x add r7.xyzw, -r1.xxxx, r6.xyzw mad_sat r7.xyzw, r7.xyzw, cb0[0].wwww, l(1.000000, 1.000000, 1.000000, 1.000000) add r8.xy, -r1.ywyy, l(1.000000, 1.000000, 0.000000, 0.000000) mad r3.xy, r3.wxww, r8.xxxx, r3.zyzz add r3.xy, r5.wxww, r3.xyxx add r3.xy, r5.zyzz, r3.xyxx add r3.xy, r7.wxww, r3.xyxx mad r3.xy, r7.zyzz, r1.yyyy, r3.xyxx mad r3.x, r3.x, r8.y, r3.y gather4_aoffimmi_indexable(-2,0,0)(texture2d)(float,float,float,float) r5.xyzw, r0.zwzz, t3.xyzw, s3.x add r7.xyzw, -r1.xxxx, r5.xyzw mad_sat r7.xyzw, r7.xyzw, cb0[0].wwww, l(1.000000, 1.000000, 1.000000, 1.000000) gather4_indexable(texture2d)(float,float,float,float) r9.xyzw, r0.zwzz, t3.xyzw, s3.x add r10.xyzw, -r1.xxxx, r9.xyzw mad_sat r10.xyzw, r10.xyzw, cb0[0].wwww, l(1.000000, 1.000000, 1.000000, 1.000000) gather4_aoffimmi_indexable(2,0,0)(texture2d)(float,float,float,float) r11.xyzw, r0.zwzz, t3.xyzw, s3.x add r12.xyzw, -r1.xxxx, r11.xyzw mad_sat r12.xyzw, r12.xyzw, cb0[0].wwww, l(1.000000, 1.000000, 1.000000, 1.000000) mad r3.yz, r7.wwxw, r8.xxxx, r7.zzyz add r3.yz, r10.wwxw, r3.yyzy add r3.yz, r10.zzyz, r3.yyzy add r3.yz, r12.wwxw, r3.yyzy mad r3.yz, r12.zzyz, r1.yyyy, r3.yyzy add r3.y, r3.z, r3.y add r3.x, r3.y, r3.x gather4_aoffimmi_indexable(-2,2,0)(texture2d)(float,float,float,float) r7.xyzw, r0.zwzz, t3.xyzw, s3.x add r10.xyzw, -r1.xxxx, r7.xyzw mad_sat r10.xyzw, r10.xyzw, cb0[0].wwww, l(1.000000, 1.000000, 1.000000, 1.000000) gather4_aoffimmi_indexable(0,2,0)(texture2d)(float,float,float,float) r12.xyzw, r0.zwzz, t3.xyzw, s3.x add r13.xyzw, -r1.xxxx, r12.xyzw mad_sat r13.xyzw, r13.xyzw, cb0[0].wwww, l(1.000000, 1.000000, 1.000000, 1.000000) gather4_aoffimmi_indexable(2,2,0)(texture2d)(float,float,float,float) r14.xyzw, r0.zwzz, t3.xyzw, s3.x add r15.xyzw, -r1.xxxx, r14.xyzw mad_sat r15.xyzw, r15.xyzw, cb0[0].wwww, l(1.000000, 1.000000, 1.000000, 1.000000) mad r0.zw, r10.wwwx, r8.xxxx, r10.zzzy add r0.zw, r13.wwwx, r0.zzzw add r0.zw, r13.zzzy, r0.zzzw add r0.zw, r15.wwwx, r0.zzzw mad r0.zw, r15.zzzy, r1.yyyy, r0.zzzw mad r0.z, r0.w, r1.w, r0.z add r0.z, r0.z, r3.x sample_l_indexable(texture2d)(float,float,float,float) r0.w, r0.xyxx, t0.xyzw, s0, l(0.000000) mul r0.w, r0.w, l(255.000000) round_ne r0.w, r0.w ftou r0.w, r0.w and r1.x, r0.w, l(7) ieq r3.xyzw, r1.xxxx, l(2, 3, 6, 7) or r1.x, r3.y, r3.x or r1.x, r3.z, r1.x or r1.x, r3.w, r1.x if_nz r1.x sample_l_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t1.wxyz, s1, l(0.000000) and r0.y, r0.w, l(16) min r0.x, r0.x, l(0.999000) add r0.x, -r0.x, l(1.000000) log r0.x, r0.x mul r0.x, r0.x, cb0[31].y add r0.w, r1.z, cb0[31].x mul r0.x, r0.x, l(-0.0346573591) movc r0.x, r0.y, l(-0.000000), r0.x add r3.xyzw, -r2.xyzw, r0.wwww max r3.xyzw, r3.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) mul r3.xyzw, r0.xxxx, -r3.xyzw mul r3.xyzw, r3.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695) exp r3.xyzw, r3.xyzw min r3.xyzw, r3.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000) lt r2.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r2.xyzw movc r2.xyzw, r2.xyzw, l(1.000000,1.000000,1.000000,1.000000), r3.xyzw add r3.xyzw, -r4.xyzw, r0.wwww max r3.xyzw, r3.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) mul r3.xyzw, r0.xxxx, -r3.xyzw mul r3.xyzw, r3.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695) exp r3.xyzw, r3.xyzw min r3.xyzw, r3.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000) lt r4.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r4.xyzw movc r3.xyzw, r4.xyzw, l(1.000000,1.000000,1.000000,1.000000), r3.xyzw add r4.xyzw, -r6.xyzw, r0.wwww max r4.xyzw, r4.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) mul r4.xyzw, r0.xxxx, -r4.xyzw mul r4.xyzw, r4.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695) exp r4.xyzw, r4.xyzw min r4.xyzw, r4.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000) lt r6.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r6.xyzw movc r4.xyzw, r6.xyzw, l(1.000000,1.000000,1.000000,1.000000), r4.xyzw mad r1.xz, r2.wwxw, r8.xxxx, r2.zzyz add r1.xz, r3.wwxw, r1.xxzx add r1.xz, r3.zzyz, r1.xxzx add r1.xz, r4.wwxw, r1.xxzx mad r1.xz, r4.zzyz, r1.yyyy, r1.xxzx mad r0.y, r1.x, r8.y, r1.z add r2.xyzw, -r5.xyzw, r0.wwww max r2.xyzw, r2.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) mul r2.xyzw, r0.xxxx, -r2.xyzw mul r2.xyzw, r2.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695) exp r2.xyzw, r2.xyzw min r2.xyzw, r2.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000) lt r3.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r5.xyzw movc r2.xyzw, r3.xyzw, l(1.000000,1.000000,1.000000,1.000000), r2.xyzw add r3.xyzw, -r9.xyzw, r0.wwww max r3.xyzw, r3.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) mul r3.xyzw, r0.xxxx, -r3.xyzw mul r3.xyzw, r3.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695) exp r3.xyzw, r3.xyzw min r3.xyzw, r3.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000) lt r4.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r9.xyzw movc r3.xyzw, r4.xyzw, l(1.000000,1.000000,1.000000,1.000000), r3.xyzw add r4.xyzw, -r11.xyzw, r0.wwww max r4.xyzw, r4.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) mul r4.xyzw, r0.xxxx, -r4.xyzw mul r4.xyzw, r4.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695) exp r4.xyzw, r4.xyzw min r4.xyzw, r4.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000) lt r5.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r11.xyzw movc r4.xyzw, r5.xyzw, l(1.000000,1.000000,1.000000,1.000000), r4.xyzw mad r1.xz, r2.wwxw, r8.xxxx, r2.zzyz add r1.xz, r3.wwxw, r1.xxzx add r1.xz, r3.zzyz, r1.xxzx add r1.xz, r4.wwxw, r1.xxzx mad r1.xz, r4.zzyz, r1.yyyy, r1.xxzx add r1.x, r1.z, r1.x add r0.y, r0.y, r1.x add r2.xyzw, -r7.xyzw, r0.wwww max r2.xyzw, r2.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) mul r2.xyzw, r0.xxxx, -r2.xyzw mul r2.xyzw, r2.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695) exp r2.xyzw, r2.xyzw min r2.xyzw, r2.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000) lt r3.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r7.xyzw movc r2.xyzw, r3.xyzw, l(1.000000,1.000000,1.000000,1.000000), r2.xyzw add r3.xyzw, -r12.xyzw, r0.wwww max r3.xyzw, r3.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) mul r3.xyzw, r0.xxxx, -r3.xyzw mul r3.xyzw, r3.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695) exp r3.xyzw, r3.xyzw min r3.xyzw, r3.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000) lt r4.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r12.xyzw movc r3.xyzw, r4.xyzw, l(1.000000,1.000000,1.000000,1.000000), r3.xyzw add r4.xyzw, -r14.xyzw, r0.wwww max r4.xyzw, r4.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) mul r4.xyzw, r0.xxxx, -r4.xyzw mul r4.xyzw, r4.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695) exp r4.xyzw, r4.xyzw min r4.xyzw, r4.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000) lt r5.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r14.xyzw movc r4.xyzw, r5.xyzw, l(1.000000,1.000000,1.000000,1.000000), r4.xyzw mad r0.xw, r2.wwwx, r8.xxxx, r2.zzzy add r0.xw, r3.wwwx, r0.xxxw add r0.xw, r3.zzzy, r0.xxxw add r0.xw, r4.wwwx, r0.xxxw mad r0.xw, r4.zzzy, r1.yyyy, r0.xxxw mad r0.x, r0.w, r1.w, r0.x add r0.x, r0.x, r0.y mul r0.x, r0.x, l(0.040000) else mov r0.x, l(1.000000) endif mad r0.y, r0.z, l(0.040000), l(-0.500000) mad_sat r0.y, r0.y, cb0[26].z, l(0.500000) mad r0.y, r0.y, r0.y, l(-1.000000) mad r0.y, cb0[26].y, r0.y, l(1.000000) mad r0.x, r0.x, r0.x, l(-1.000000) mad r0.x, cb0[26].y, r0.x, l(1.000000) sqrt o0.xyzw, r0.yxyx ret // Approximately 0 instruction slots used [/code] The important parts are: [code]dcl_resource_texture2d (float,float,float,float) t125[/code] And this, where I use r0.z for the depth correction: [code] ld_indexable(texture2d)(float,float,float,float) r21.xyzw, l(0, 0, 0, 0), t125.xyzw add r21.w, r0.z, -r21.y mad r1.x, r21.x, -r21.w, r1.x mul r2.xyzw, r1.yyyy, cb0[28].xyzw mad r1.xyzw, r1.xxxx, cb0[27].xyzw, r2.xyzw mad r1.xyzw, r0.zzzz, cb0[29].xyzw, r1.xyzw add r1.xyzw, r1.xyzw, cb0[30].xyzw [/code]
I didn't read the whole thread, but...

The_Nephilim said:Here is the shader from High Shadows:

I inserted the following from the Little Nightmare code:


Wrong (I think). You don't need any external matrix there. You need to correct r1.x just before line 61 (or 228 if you do it in ASM).

For example, look at my "5aa56137f9f0b40d-ps.txt" from Tekken 7 (remember, ASM fixed shaders need to not have "_replace" in their file name):

//Shadows 2.
// ---- Created with 3Dmigoto v1.2.57 on Fri Jun 02 16:58:22 2017
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
// using 3Dmigoto v1.2.57 on Fri Jun 02 16:58:22 2017
//
//
// Note: shader requires additional functionality:
// Early depth-stencil
//
//
// 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 | forceEarlyDepthStencil
dcl_constantbuffer cb0[32], immediateIndexed
dcl_constantbuffer cb1[117], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, mode_default
dcl_sampler s3, mode_default
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 16
dcl_resource_texture2d (float,float,float,float) t125
mul r0.xy, v0.xyxx, cb1[116].zwzz
sample_l_indexable(texture2d)(float,float,float,float) r0.z, r0.xyxx, t2.yzxw, s2, l(0.000000)
mad r0.w, r0.z, cb1[51].x, cb1[51].y
mad r0.z, r0.z, cb1[51].z, -cb1[51].w
div r0.z, l(1.000000, 1.000000, 1.000000, 1.000000), r0.z
add r0.z, r0.z, r0.w
mad r1.xy, v0.xyxx, cb1[116].zwzz, -cb1[52].wzww
div r1.xy, r1.xyxx, cb1[52].xyxx
mul r1.xy, r0.zzzz, r1.xyxx

ld_indexable(texture2d)(float,float,float,float) r21.xyzw, l(0, 0, 0, 0), t125.xyzw
add r21.w, r0.z, -r21.y
mad r1.x, r21.x, -r21.w, r1.x

mul r2.xyzw, r1.yyyy, cb0[28].xyzw
mad r1.xyzw, r1.xxxx, cb0[27].xyzw, r2.xyzw
mad r1.xyzw, r0.zzzz, cb0[29].xyzw, r1.xyzw
add r1.xyzw, r1.xyzw, cb0[30].xyzw
div r0.zw, r1.xxxy, r1.wwww
min r1.x, r1.z, l(0.999990)
mad r0.zw, r0.zzzw, cb0[1].xxxy, l(0.000000, 0.000000, -0.500000, -0.500000)
frc r1.yw, r0.zzzw
round_ni r0.zw, r0.zzzw
add r0.zw, r0.zzzw, l(0.000000, 0.000000, 0.500000, 0.500000)
mul r0.zw, r0.zzzw, cb0[1].zzzw
gather4_aoffimmi_indexable(-2,-2,0)(texture2d)(float,float,float,float) r2.xyzw, r0.zwzz, t3.xyzw, s3.x
add r3.xyzw, -r1.xxxx, r2.xyzw
mad_sat r3.xyzw, r3.xyzw, cb0[0].wwww, l(1.000000, 1.000000, 1.000000, 1.000000)
gather4_aoffimmi_indexable(0,-2,0)(texture2d)(float,float,float,float) r4.xyzw, r0.zwzz, t3.xyzw, s3.x
add r5.xyzw, -r1.xxxx, r4.xyzw
mad_sat r5.xyzw, r5.xyzw, cb0[0].wwww, l(1.000000, 1.000000, 1.000000, 1.000000)
gather4_aoffimmi_indexable(2,-2,0)(texture2d)(float,float,float,float) r6.xyzw, r0.zwzz, t3.xyzw, s3.x
add r7.xyzw, -r1.xxxx, r6.xyzw
mad_sat r7.xyzw, r7.xyzw, cb0[0].wwww, l(1.000000, 1.000000, 1.000000, 1.000000)
add r8.xy, -r1.ywyy, l(1.000000, 1.000000, 0.000000, 0.000000)
mad r3.xy, r3.wxww, r8.xxxx, r3.zyzz
add r3.xy, r5.wxww, r3.xyxx
add r3.xy, r5.zyzz, r3.xyxx
add r3.xy, r7.wxww, r3.xyxx
mad r3.xy, r7.zyzz, r1.yyyy, r3.xyxx
mad r3.x, r3.x, r8.y, r3.y
gather4_aoffimmi_indexable(-2,0,0)(texture2d)(float,float,float,float) r5.xyzw, r0.zwzz, t3.xyzw, s3.x
add r7.xyzw, -r1.xxxx, r5.xyzw
mad_sat r7.xyzw, r7.xyzw, cb0[0].wwww, l(1.000000, 1.000000, 1.000000, 1.000000)
gather4_indexable(texture2d)(float,float,float,float) r9.xyzw, r0.zwzz, t3.xyzw, s3.x
add r10.xyzw, -r1.xxxx, r9.xyzw
mad_sat r10.xyzw, r10.xyzw, cb0[0].wwww, l(1.000000, 1.000000, 1.000000, 1.000000)
gather4_aoffimmi_indexable(2,0,0)(texture2d)(float,float,float,float) r11.xyzw, r0.zwzz, t3.xyzw, s3.x
add r12.xyzw, -r1.xxxx, r11.xyzw
mad_sat r12.xyzw, r12.xyzw, cb0[0].wwww, l(1.000000, 1.000000, 1.000000, 1.000000)
mad r3.yz, r7.wwxw, r8.xxxx, r7.zzyz
add r3.yz, r10.wwxw, r3.yyzy
add r3.yz, r10.zzyz, r3.yyzy
add r3.yz, r12.wwxw, r3.yyzy
mad r3.yz, r12.zzyz, r1.yyyy, r3.yyzy
add r3.y, r3.z, r3.y
add r3.x, r3.y, r3.x
gather4_aoffimmi_indexable(-2,2,0)(texture2d)(float,float,float,float) r7.xyzw, r0.zwzz, t3.xyzw, s3.x
add r10.xyzw, -r1.xxxx, r7.xyzw
mad_sat r10.xyzw, r10.xyzw, cb0[0].wwww, l(1.000000, 1.000000, 1.000000, 1.000000)
gather4_aoffimmi_indexable(0,2,0)(texture2d)(float,float,float,float) r12.xyzw, r0.zwzz, t3.xyzw, s3.x
add r13.xyzw, -r1.xxxx, r12.xyzw
mad_sat r13.xyzw, r13.xyzw, cb0[0].wwww, l(1.000000, 1.000000, 1.000000, 1.000000)
gather4_aoffimmi_indexable(2,2,0)(texture2d)(float,float,float,float) r14.xyzw, r0.zwzz, t3.xyzw, s3.x
add r15.xyzw, -r1.xxxx, r14.xyzw
mad_sat r15.xyzw, r15.xyzw, cb0[0].wwww, l(1.000000, 1.000000, 1.000000, 1.000000)
mad r0.zw, r10.wwwx, r8.xxxx, r10.zzzy
add r0.zw, r13.wwwx, r0.zzzw
add r0.zw, r13.zzzy, r0.zzzw
add r0.zw, r15.wwwx, r0.zzzw
mad r0.zw, r15.zzzy, r1.yyyy, r0.zzzw
mad r0.z, r0.w, r1.w, r0.z
add r0.z, r0.z, r3.x
sample_l_indexable(texture2d)(float,float,float,float) r0.w, r0.xyxx, t0.xyzw, s0, l(0.000000)
mul r0.w, r0.w, l(255.000000)
round_ne r0.w, r0.w
ftou r0.w, r0.w
and r1.x, r0.w, l(7)
ieq r3.xyzw, r1.xxxx, l(2, 3, 6, 7)
or r1.x, r3.y, r3.x
or r1.x, r3.z, r1.x
or r1.x, r3.w, r1.x
if_nz r1.x
sample_l_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t1.wxyz, s1, l(0.000000)
and r0.y, r0.w, l(16)
min r0.x, r0.x, l(0.999000)
add r0.x, -r0.x, l(1.000000)
log r0.x, r0.x
mul r0.x, r0.x, cb0[31].y
add r0.w, r1.z, cb0[31].x
mul r0.x, r0.x, l(-0.0346573591)
movc r0.x, r0.y, l(-0.000000), r0.x
add r3.xyzw, -r2.xyzw, r0.wwww
max r3.xyzw, r3.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r3.xyzw, r0.xxxx, -r3.xyzw
mul r3.xyzw, r3.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695)
exp r3.xyzw, r3.xyzw
min r3.xyzw, r3.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
lt r2.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r2.xyzw
movc r2.xyzw, r2.xyzw, l(1.000000,1.000000,1.000000,1.000000), r3.xyzw
add r3.xyzw, -r4.xyzw, r0.wwww
max r3.xyzw, r3.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r3.xyzw, r0.xxxx, -r3.xyzw
mul r3.xyzw, r3.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695)
exp r3.xyzw, r3.xyzw
min r3.xyzw, r3.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
lt r4.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r4.xyzw
movc r3.xyzw, r4.xyzw, l(1.000000,1.000000,1.000000,1.000000), r3.xyzw
add r4.xyzw, -r6.xyzw, r0.wwww
max r4.xyzw, r4.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r4.xyzw, r0.xxxx, -r4.xyzw
mul r4.xyzw, r4.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695)
exp r4.xyzw, r4.xyzw
min r4.xyzw, r4.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
lt r6.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r6.xyzw
movc r4.xyzw, r6.xyzw, l(1.000000,1.000000,1.000000,1.000000), r4.xyzw
mad r1.xz, r2.wwxw, r8.xxxx, r2.zzyz
add r1.xz, r3.wwxw, r1.xxzx
add r1.xz, r3.zzyz, r1.xxzx
add r1.xz, r4.wwxw, r1.xxzx
mad r1.xz, r4.zzyz, r1.yyyy, r1.xxzx
mad r0.y, r1.x, r8.y, r1.z
add r2.xyzw, -r5.xyzw, r0.wwww
max r2.xyzw, r2.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r2.xyzw, r0.xxxx, -r2.xyzw
mul r2.xyzw, r2.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695)
exp r2.xyzw, r2.xyzw
min r2.xyzw, r2.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
lt r3.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r5.xyzw
movc r2.xyzw, r3.xyzw, l(1.000000,1.000000,1.000000,1.000000), r2.xyzw
add r3.xyzw, -r9.xyzw, r0.wwww
max r3.xyzw, r3.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r3.xyzw, r0.xxxx, -r3.xyzw
mul r3.xyzw, r3.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695)
exp r3.xyzw, r3.xyzw
min r3.xyzw, r3.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
lt r4.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r9.xyzw
movc r3.xyzw, r4.xyzw, l(1.000000,1.000000,1.000000,1.000000), r3.xyzw
add r4.xyzw, -r11.xyzw, r0.wwww
max r4.xyzw, r4.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r4.xyzw, r0.xxxx, -r4.xyzw
mul r4.xyzw, r4.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695)
exp r4.xyzw, r4.xyzw
min r4.xyzw, r4.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
lt r5.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r11.xyzw
movc r4.xyzw, r5.xyzw, l(1.000000,1.000000,1.000000,1.000000), r4.xyzw
mad r1.xz, r2.wwxw, r8.xxxx, r2.zzyz
add r1.xz, r3.wwxw, r1.xxzx
add r1.xz, r3.zzyz, r1.xxzx
add r1.xz, r4.wwxw, r1.xxzx
mad r1.xz, r4.zzyz, r1.yyyy, r1.xxzx
add r1.x, r1.z, r1.x
add r0.y, r0.y, r1.x
add r2.xyzw, -r7.xyzw, r0.wwww
max r2.xyzw, r2.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r2.xyzw, r0.xxxx, -r2.xyzw
mul r2.xyzw, r2.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695)
exp r2.xyzw, r2.xyzw
min r2.xyzw, r2.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
lt r3.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r7.xyzw
movc r2.xyzw, r3.xyzw, l(1.000000,1.000000,1.000000,1.000000), r2.xyzw
add r3.xyzw, -r12.xyzw, r0.wwww
max r3.xyzw, r3.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r3.xyzw, r0.xxxx, -r3.xyzw
mul r3.xyzw, r3.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695)
exp r3.xyzw, r3.xyzw
min r3.xyzw, r3.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
lt r4.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r12.xyzw
movc r3.xyzw, r4.xyzw, l(1.000000,1.000000,1.000000,1.000000), r3.xyzw
add r4.xyzw, -r14.xyzw, r0.wwww
max r4.xyzw, r4.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r4.xyzw, r0.xxxx, -r4.xyzw
mul r4.xyzw, r4.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695)
exp r4.xyzw, r4.xyzw
min r4.xyzw, r4.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
lt r5.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r14.xyzw
movc r4.xyzw, r5.xyzw, l(1.000000,1.000000,1.000000,1.000000), r4.xyzw
mad r0.xw, r2.wwwx, r8.xxxx, r2.zzzy
add r0.xw, r3.wwwx, r0.xxxw
add r0.xw, r3.zzzy, r0.xxxw
add r0.xw, r4.wwwx, r0.xxxw
mad r0.xw, r4.zzzy, r1.yyyy, r0.xxxw
mad r0.x, r0.w, r1.w, r0.x
add r0.x, r0.x, r0.y
mul r0.x, r0.x, l(0.040000)
else
mov r0.x, l(1.000000)
endif
mad r0.y, r0.z, l(0.040000), l(-0.500000)
mad_sat r0.y, r0.y, cb0[26].z, l(0.500000)
mad r0.y, r0.y, r0.y, l(-1.000000)
mad r0.y, cb0[26].y, r0.y, l(1.000000)
mad r0.x, r0.x, r0.x, l(-1.000000)
mad r0.x, cb0[26].y, r0.x, l(1.000000)
sqrt o0.xyzw, r0.yxyx
ret
// Approximately 0 instruction slots used


The important parts are:

dcl_resource_texture2d (float,float,float,float) t125


And this, where I use r0.z for the depth correction:

ld_indexable(texture2d)(float,float,float,float) r21.xyzw, l(0, 0, 0, 0), t125.xyzw
add r21.w, r0.z, -r21.y
mad r1.x, r21.x, -r21.w, r1.x

mul r2.xyzw, r1.yyyy, cb0[28].xyzw
mad r1.xyzw, r1.xxxx, cb0[27].xyzw, r2.xyzw
mad r1.xyzw, r0.zzzz, cb0[29].xyzw, r1.xyzw
add r1.xyzw, r1.xyzw, cb0[30].xyzw

CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: Gainward Phoenix 1080 GLH
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com

#36
Posted 07/02/2017 09:16 AM   
@The_Nephilim Follow the steps that post masterotaku, those patterns need to be fixed in ASM...in HLSL produce some strange flickering/artifacts (i suppose there is a decompiler issue) The fe6df6fdfe8dc282 shader is not related to shadows or lights, discard.
@The_Nephilim
Follow the steps that post masterotaku, those patterns need to be fixed in ASM...in HLSL produce some strange flickering/artifacts (i suppose there is a decompiler issue)

The fe6df6fdfe8dc282 shader is not related to shadows or lights, discard.

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

Like my fixes? you can donate to Paypal: dhr.donation@gmail.com

#37
Posted 07/02/2017 12:04 PM   
OK I found the shader and input the code like masterotaku said too line 214-217 and it did not appear to do anything?? here is the shader I found: [code] // ---- Created with 3Dmigoto v1.2.61 on Sun Jul 02 15:46:08 2017 Texture2D<float4> t3 : register(t3); Texture2D<float4> t2 : register(t2); Texture2D<float4> t1 : register(t1); Texture2D<float4> t0 : register(t0); SamplerState s3_s : register(s3); SamplerState s2_s : register(s2); SamplerState s1_s : register(s1); SamplerState s0_s : register(s0); cbuffer cb2 : register(b2) { float4 cb2[4]; } cbuffer cb1 : register(b1) { float4 cb1[53]; } cbuffer cb0 : register(b0) { float4 cb0[32]; } // 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,r6,r7,r8,r9,r10; uint4 bitmask, uiDest; float4 fDest; r0.xy = cb2[3].zw * v0.xy; r0.z = t2.SampleLevel(s2_s, r0.xy, 0).x; r0.z = r0.z * cb1[51].z + -cb1[51].w; r0.z = 1 / r0.z; r1.xy = v0.xy * cb2[3].zw + -cb1[52].wz; r1.xy = r1.xy / cb1[52].xy; r1.xy = r1.xy * r0.zz; r2.xyzw = cb0[28].xyzw * r1.yyyy; r1.xyzw = r1.xxxx * cb0[27].xyzw + r2.xyzw; r1.xyzw = r0.zzzz * cb0[29].xyzw + r1.xyzw; r1.xyzw = cb0[30].xyzw + r1.xyzw; r1.xy = r1.xy / r1.ww; r0.w = min(0.999989986, r1.z); r1.w = t0.SampleLevel(s0_s, r0.xy, 0).w; r1.w = 255 * r1.w; r1.w = round(r1.w); r1.w = (uint)r1.w; r2.x = (int)r1.w & 15; r1.xy = r1.xy * cb0[1].xy + float2(-0.5,-0.5); r2.yz = frac(r1.xy); r1.xy = floor(r1.xy); r1.xy = float2(0.5,0.5) + r1.xy; r1.xy = cb0[1].zw * r1.xy; r3.xyzw = t3.Gather(s3_s, r1.xy, int2(-1, -1)).xyzw; r4.xyzw = r3.xyzw + -r0.wwww; r4.xyzw = saturate(r4.xyzw * cb0[0].zzzz + float4(1,1,1,1)); r5.xyzw = t3.Gather(s3_s, r1.xy, int2(1, -1)).xyzw; r6.xyzw = r5.xyzw + -r0.wwww; r6.xyzw = saturate(r6.xyzw * cb0[0].zzzz + float4(1,1,1,1)); r7.xyzw = t3.Gather(s3_s, r1.xy, int2(-1, 1)).xyzw; r8.xyzw = r7.xyzw + -r0.wwww; r8.xyzw = saturate(r8.xyzw * cb0[0].zzzz + float4(1,1,1,1)); r9.xyzw = t3.Gather(s3_s, r1.xy, int2(1, 1)).xyzw; r10.xyzw = r9.xyzw + -r0.wwww; r10.xyzw = saturate(r10.xyzw * cb0[0].zzzz + float4(1,1,1,1)); r1.xy = float2(1,1) + -r2.yz; r4.xy = r4.wx * r1.xx + r4.zy; r4.zw = r8.wx * r1.xx + r8.zy; r4.xy = r4.xy + r6.wx; r4.zw = r4.zw + r10.wx; r6.xy = r6.zy * r2.yy + r4.xy; r6.zw = r10.zy * r2.yy + r4.zw; r4.x = 0.111111112 * r1.y; r4.yz = float2(0.111111112,0.111111112); r4.w = 0.111111112 * r2.z; r0.w = dot(r6.xyzw, r4.xyzw); r0.z = -cb0[31].z + r0.z; r0.z = saturate(cb0[31].w * r0.z); o0.w = 1 + -r0.z; r6.xyzw = cmp((int4)r2.xxxx == int4(2,3,5,6)); r0.z = (int)r6.y | (int)r6.x; r0.z = (int)r6.z | (int)r0.z; r0.z = (int)r6.w | (int)r0.z; r2.xz = cmp((int2)r2.xx == int2(7,9)); r0.z = (int)r0.z | (int)r2.x; r0.z = (int)r2.z | (int)r0.z; if (r0.z != 0) { r0.x = t1.SampleLevel(s1_s, r0.xy, 0).w; r0.y = (int)r1.w & 16; r0.x = min(0.999000013, r0.x); r0.x = 1 + -r0.x; r0.x = log2(r0.x); r0.x = -0.0346573591 * r0.x; r0.x = r0.y ? -0 : r0.x; r0.y = (int)r2.z | (int)r2.x; r0.x = r0.y ? 1 : r0.x; r0.y = cb0[31].x + r1.z; r0.x = cb0[31].y * r0.x; r6.xyzw = r0.yyyy + -r3.xyzw; r6.xyzw = max(float4(0,0,0,0), r6.xyzw); r6.xyzw = -r6.xyzw * r0.xxxx; r6.xyzw = float4(1.44269502,1.44269502,1.44269502,1.44269502) * r6.xyzw; r6.xyzw = saturate(exp2(r6.xyzw)); r3.xyzw = cmp(float4(0.99000001,0.99000001,0.99000001,0.99000001) < r3.xyzw); r3.xyzw = r3.xyzw ? float4(1,1,1,1) : r6.xyzw; r6.xyzw = r0.yyyy + -r5.xyzw; r6.xyzw = max(float4(0,0,0,0), r6.xyzw); r6.xyzw = -r6.xyzw * r0.xxxx; r6.xyzw = float4(1.44269502,1.44269502,1.44269502,1.44269502) * r6.xyzw; r6.xyzw = saturate(exp2(r6.xyzw)); r5.xyzw = cmp(float4(0.99000001,0.99000001,0.99000001,0.99000001) < r5.xyzw); r5.xyzw = r5.xyzw ? float4(1,1,1,1) : r6.xyzw; r6.xyzw = r0.yyyy + -r7.xyzw; r6.xyzw = max(float4(0,0,0,0), r6.xyzw); r6.xyzw = -r6.xyzw * r0.xxxx; r6.xyzw = float4(1.44269502,1.44269502,1.44269502,1.44269502) * r6.xyzw; r6.xyzw = saturate(exp2(r6.xyzw)); r7.xyzw = cmp(float4(0.99000001,0.99000001,0.99000001,0.99000001) < r7.xyzw); r6.xyzw = r7.xyzw ? float4(1,1,1,1) : r6.xyzw; r7.xyzw = r0.yyyy + -r9.xyzw; r7.xyzw = max(float4(0,0,0,0), r7.xyzw); r7.xyzw = -r7.xyzw * r0.xxxx; r7.xyzw = float4(1.44269502,1.44269502,1.44269502,1.44269502) * r7.xyzw; r7.xyzw = saturate(exp2(r7.xyzw)); r8.xyzw = cmp(float4(0.99000001,0.99000001,0.99000001,0.99000001) < r9.xyzw); r7.xyzw = r8.xyzw ? float4(1,1,1,1) : r7.xyzw; r0.xy = r3.wx * r1.xx + r3.zy; r1.xy = r6.wx * r1.xx + r6.zy; r0.xy = r0.xy + r5.wx; r1.xy = r1.xy + r7.wx; r3.xy = r5.zy * r2.yy + r0.xy; r3.zw = r7.zy * r2.yy + r1.xy; r0.x = dot(r3.xyzw, r4.xyzw); } else { r0.x = 1; } r0.y = -0.5 + r0.w; r0.y = saturate(r0.y * cb0[26].z + 0.5); r0.y = r0.y * r0.y + -1; r0.y = cb0[26].y * r0.y + 1; r0.x = r0.x * r0.x + -1; r0.x = cb0[26].y * r0.x + 1; o0.xyz = sqrt(r0.yxy); return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) D3D Shader Disassembler // // using 3Dmigoto v1.2.61 on Sun Jul 02 15:46:08 2017 // // // Note: shader requires additional functionality: // Early depth-stencil // // // 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 | forceEarlyDepthStencil dcl_constantbuffer cb0[32], immediateIndexed dcl_constantbuffer cb1[53], immediateIndexed dcl_constantbuffer cb2[4], immediateIndexed dcl_sampler s0, mode_default dcl_sampler s1, mode_default dcl_sampler s2, mode_default dcl_sampler s3, mode_default 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 11 dcl_resource_texture2d (float,float,float,float) t125 mul r0.xy, v0.xyxx, cb2[3].zwzz sample_l_indexable(texture2d)(float,float,float,float) r0.z, r0.xyxx, t2.yzxw, s2, l(0.000000) mad r0.z, r0.z, cb1[51].z, -cb1[51].w div r0.z, l(1.000000, 1.000000, 1.000000, 1.000000), r0.z mad r1.xy, v0.xyxx, cb2[3].zwzz, -cb1[52].wzww div r1.xy, r1.xyxx, cb1[52].xyxx mul r1.xy, r0.zzzz, r1.xyxx ld_indexable(texture2d)(float,float,float,float) r21.xyzw, l(0, 0, 0, 0), t125.xyzw add r21.w, r0.z, -r21.y mad r1.x, r21.x, -r21.w, r1.x mul r2.xyzw, r1.yyyy, cb0[28].xyzw mad r1.xyzw, r1.xxxx, cb0[27].xyzw, r2.xyzw mad r1.xyzw, r0.zzzz, cb0[29].xyzw, r1.xyzw add r1.xyzw, r1.xyzw, cb0[30].xyzw div r1.xy, r1.xyxx, r1.wwww min r0.w, r1.z, l(0.999990) sample_l_indexable(texture2d)(float,float,float,float) r1.w, r0.xyxx, t0.xyzw, s0, l(0.000000) mul r1.w, r1.w, l(255.000000) round_ne r1.w, r1.w ftou r1.w, r1.w and r2.x, r1.w, l(15) mad r1.xy, r1.xyxx, cb0[1].xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000) frc r2.yz, r1.xxyx round_ni r1.xy, r1.xyxx add r1.xy, r1.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000) mul r1.xy, r1.xyxx, cb0[1].zwzz gather4_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r3.xyzw, r1.xyxx, t3.xyzw, s3.x add r4.xyzw, -r0.wwww, r3.xyzw mad_sat r4.xyzw, r4.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000) gather4_aoffimmi_indexable(1,-1,0)(texture2d)(float,float,float,float) r5.xyzw, r1.xyxx, t3.xyzw, s3.x add r6.xyzw, -r0.wwww, r5.xyzw mad_sat r6.xyzw, r6.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000) gather4_aoffimmi_indexable(-1,1,0)(texture2d)(float,float,float,float) r7.xyzw, r1.xyxx, t3.xyzw, s3.x add r8.xyzw, -r0.wwww, r7.xyzw mad_sat r8.xyzw, r8.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000) gather4_aoffimmi_indexable(1,1,0)(texture2d)(float,float,float,float) r9.xyzw, r1.xyxx, t3.xyzw, s3.x add r10.xyzw, -r0.wwww, r9.xyzw mad_sat r10.xyzw, r10.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000) add r1.xy, -r2.yzyy, l(1.000000, 1.000000, 0.000000, 0.000000) mad r4.xy, r4.wxww, r1.xxxx, r4.zyzz mad r4.zw, r8.wwwx, r1.xxxx, r8.zzzy add r4.xy, r6.wxww, r4.xyxx add r4.zw, r10.wwwx, r4.zzzw mad r6.xy, r6.zyzz, r2.yyyy, r4.xyxx mad r6.zw, r10.zzzy, r2.yyyy, r4.zzzw mul r4.x, r1.y, l(0.111111112) mov r4.yz, l(0,0.111111112,0.111111112,0) mul r4.w, r2.z, l(0.111111112) dp4 r0.w, r6.xyzw, r4.xyzw add r0.z, r0.z, -cb0[31].z mul_sat r0.z, r0.z, cb0[31].w add o0.w, -r0.z, l(1.000000) ieq r6.xyzw, r2.xxxx, l(2, 3, 5, 6) or r0.z, r6.y, r6.x or r0.z, r6.z, r0.z or r0.z, r6.w, r0.z ieq r2.xz, r2.xxxx, l(7, 0, 9, 0) or r0.z, r0.z, r2.x or r0.z, r2.z, r0.z if_nz r0.z sample_l_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t1.wxyz, s1, l(0.000000) and r0.y, r1.w, l(16) min r0.x, r0.x, l(0.999000) add r0.x, -r0.x, l(1.000000) log r0.x, r0.x mul r0.x, r0.x, l(-0.0346573591) movc r0.x, r0.y, l(-0.000000), r0.x or r0.y, r2.z, r2.x movc r0.x, r0.y, l(1.000000), r0.x add r0.y, r1.z, cb0[31].x mul r0.x, r0.x, cb0[31].y add r6.xyzw, -r3.xyzw, r0.yyyy max r6.xyzw, r6.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) mul r6.xyzw, r0.xxxx, -r6.xyzw mul r6.xyzw, r6.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695) exp_sat r6.xyzw, r6.xyzw lt r3.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r3.xyzw movc r3.xyzw, r3.xyzw, l(1.000000,1.000000,1.000000,1.000000), r6.xyzw add r6.xyzw, -r5.xyzw, r0.yyyy max r6.xyzw, r6.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) mul r6.xyzw, r0.xxxx, -r6.xyzw mul r6.xyzw, r6.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695) exp_sat r6.xyzw, r6.xyzw lt r5.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r5.xyzw movc r5.xyzw, r5.xyzw, l(1.000000,1.000000,1.000000,1.000000), r6.xyzw add r6.xyzw, -r7.xyzw, r0.yyyy max r6.xyzw, r6.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) mul r6.xyzw, r0.xxxx, -r6.xyzw mul r6.xyzw, r6.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695) exp_sat r6.xyzw, r6.xyzw lt r7.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r7.xyzw movc r6.xyzw, r7.xyzw, l(1.000000,1.000000,1.000000,1.000000), r6.xyzw add r7.xyzw, -r9.xyzw, r0.yyyy max r7.xyzw, r7.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) mul r7.xyzw, r0.xxxx, -r7.xyzw mul r7.xyzw, r7.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695) exp_sat r7.xyzw, r7.xyzw lt r8.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r9.xyzw movc r7.xyzw, r8.xyzw, l(1.000000,1.000000,1.000000,1.000000), r7.xyzw mad r0.xy, r3.wxww, r1.xxxx, r3.zyzz mad r1.xy, r6.wxww, r1.xxxx, r6.zyzz add r0.xy, r5.wxww, r0.xyxx add r1.xy, r7.wxww, r1.xyxx mad r3.xy, r5.zyzz, r2.yyyy, r0.xyxx mad r3.zw, r7.zzzy, r2.yyyy, r1.xxxy dp4 r0.x, r3.xyzw, r4.xyzw else mov r0.x, l(1.000000) endif add r0.y, r0.w, l(-0.500000) mad_sat r0.y, r0.y, cb0[26].z, l(0.500000) mad r0.y, r0.y, r0.y, l(-1.000000) mad r0.y, cb0[26].y, r0.y, l(1.000000) mad r0.x, r0.x, r0.x, l(-1.000000) mad r0.x, cb0[26].y, r0.x, l(1.000000) sqrt o0.xyz, r0.yxyy ret // Approximately 0 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] This is the line of code I input into the shader: [code] ld_indexable(texture2d)(float,float,float,float) r21.xyzw, l(0, 0, 0, 0), t125.xyzw add r21.w, r0.z, -r21.y mad r1.x, r21.x, -r21.w, r1.x [/code] Now was I supposed to input that line of code?? Also the code from Tekken 7 was just ASM was I supposed to omit the HLSL part of the code and just leave the ASM part??
OK I found the shader and input the code like masterotaku said too line 214-217 and it did not appear to do anything?? here is the shader I found:


// ---- Created with 3Dmigoto v1.2.61 on Sun Jul 02 15:46:08 2017
Texture2D<float4> t3 : register(t3);

Texture2D<float4> t2 : register(t2);

Texture2D<float4> t1 : register(t1);

Texture2D<float4> t0 : register(t0);

SamplerState s3_s : register(s3);

SamplerState s2_s : register(s2);

SamplerState s1_s : register(s1);

SamplerState s0_s : register(s0);

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

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

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




// 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,r6,r7,r8,r9,r10;
uint4 bitmask, uiDest;
float4 fDest;

r0.xy = cb2[3].zw * v0.xy;
r0.z = t2.SampleLevel(s2_s, r0.xy, 0).x;
r0.z = r0.z * cb1[51].z + -cb1[51].w;
r0.z = 1 / r0.z;
r1.xy = v0.xy * cb2[3].zw + -cb1[52].wz;
r1.xy = r1.xy / cb1[52].xy;
r1.xy = r1.xy * r0.zz;
r2.xyzw = cb0[28].xyzw * r1.yyyy;
r1.xyzw = r1.xxxx * cb0[27].xyzw + r2.xyzw;
r1.xyzw = r0.zzzz * cb0[29].xyzw + r1.xyzw;
r1.xyzw = cb0[30].xyzw + r1.xyzw;
r1.xy = r1.xy / r1.ww;
r0.w = min(0.999989986, r1.z);
r1.w = t0.SampleLevel(s0_s, r0.xy, 0).w;
r1.w = 255 * r1.w;
r1.w = round(r1.w);
r1.w = (uint)r1.w;
r2.x = (int)r1.w & 15;
r1.xy = r1.xy * cb0[1].xy + float2(-0.5,-0.5);
r2.yz = frac(r1.xy);
r1.xy = floor(r1.xy);
r1.xy = float2(0.5,0.5) + r1.xy;
r1.xy = cb0[1].zw * r1.xy;
r3.xyzw = t3.Gather(s3_s, r1.xy, int2(-1, -1)).xyzw;
r4.xyzw = r3.xyzw + -r0.wwww;
r4.xyzw = saturate(r4.xyzw * cb0[0].zzzz + float4(1,1,1,1));
r5.xyzw = t3.Gather(s3_s, r1.xy, int2(1, -1)).xyzw;
r6.xyzw = r5.xyzw + -r0.wwww;
r6.xyzw = saturate(r6.xyzw * cb0[0].zzzz + float4(1,1,1,1));
r7.xyzw = t3.Gather(s3_s, r1.xy, int2(-1, 1)).xyzw;
r8.xyzw = r7.xyzw + -r0.wwww;
r8.xyzw = saturate(r8.xyzw * cb0[0].zzzz + float4(1,1,1,1));
r9.xyzw = t3.Gather(s3_s, r1.xy, int2(1, 1)).xyzw;
r10.xyzw = r9.xyzw + -r0.wwww;
r10.xyzw = saturate(r10.xyzw * cb0[0].zzzz + float4(1,1,1,1));
r1.xy = float2(1,1) + -r2.yz;
r4.xy = r4.wx * r1.xx + r4.zy;
r4.zw = r8.wx * r1.xx + r8.zy;
r4.xy = r4.xy + r6.wx;
r4.zw = r4.zw + r10.wx;
r6.xy = r6.zy * r2.yy + r4.xy;
r6.zw = r10.zy * r2.yy + r4.zw;
r4.x = 0.111111112 * r1.y;
r4.yz = float2(0.111111112,0.111111112);
r4.w = 0.111111112 * r2.z;
r0.w = dot(r6.xyzw, r4.xyzw);
r0.z = -cb0[31].z + r0.z;
r0.z = saturate(cb0[31].w * r0.z);
o0.w = 1 + -r0.z;
r6.xyzw = cmp((int4)r2.xxxx == int4(2,3,5,6));
r0.z = (int)r6.y | (int)r6.x;
r0.z = (int)r6.z | (int)r0.z;
r0.z = (int)r6.w | (int)r0.z;
r2.xz = cmp((int2)r2.xx == int2(7,9));
r0.z = (int)r0.z | (int)r2.x;
r0.z = (int)r2.z | (int)r0.z;
if (r0.z != 0) {
r0.x = t1.SampleLevel(s1_s, r0.xy, 0).w;
r0.y = (int)r1.w & 16;
r0.x = min(0.999000013, r0.x);
r0.x = 1 + -r0.x;
r0.x = log2(r0.x);
r0.x = -0.0346573591 * r0.x;
r0.x = r0.y ? -0 : r0.x;
r0.y = (int)r2.z | (int)r2.x;
r0.x = r0.y ? 1 : r0.x;
r0.y = cb0[31].x + r1.z;
r0.x = cb0[31].y * r0.x;
r6.xyzw = r0.yyyy + -r3.xyzw;
r6.xyzw = max(float4(0,0,0,0), r6.xyzw);
r6.xyzw = -r6.xyzw * r0.xxxx;
r6.xyzw = float4(1.44269502,1.44269502,1.44269502,1.44269502) * r6.xyzw;
r6.xyzw = saturate(exp2(r6.xyzw));
r3.xyzw = cmp(float4(0.99000001,0.99000001,0.99000001,0.99000001) < r3.xyzw);
r3.xyzw = r3.xyzw ? float4(1,1,1,1) : r6.xyzw;
r6.xyzw = r0.yyyy + -r5.xyzw;
r6.xyzw = max(float4(0,0,0,0), r6.xyzw);
r6.xyzw = -r6.xyzw * r0.xxxx;
r6.xyzw = float4(1.44269502,1.44269502,1.44269502,1.44269502) * r6.xyzw;
r6.xyzw = saturate(exp2(r6.xyzw));
r5.xyzw = cmp(float4(0.99000001,0.99000001,0.99000001,0.99000001) < r5.xyzw);
r5.xyzw = r5.xyzw ? float4(1,1,1,1) : r6.xyzw;
r6.xyzw = r0.yyyy + -r7.xyzw;
r6.xyzw = max(float4(0,0,0,0), r6.xyzw);
r6.xyzw = -r6.xyzw * r0.xxxx;
r6.xyzw = float4(1.44269502,1.44269502,1.44269502,1.44269502) * r6.xyzw;
r6.xyzw = saturate(exp2(r6.xyzw));
r7.xyzw = cmp(float4(0.99000001,0.99000001,0.99000001,0.99000001) < r7.xyzw);
r6.xyzw = r7.xyzw ? float4(1,1,1,1) : r6.xyzw;
r7.xyzw = r0.yyyy + -r9.xyzw;
r7.xyzw = max(float4(0,0,0,0), r7.xyzw);
r7.xyzw = -r7.xyzw * r0.xxxx;
r7.xyzw = float4(1.44269502,1.44269502,1.44269502,1.44269502) * r7.xyzw;
r7.xyzw = saturate(exp2(r7.xyzw));
r8.xyzw = cmp(float4(0.99000001,0.99000001,0.99000001,0.99000001) < r9.xyzw);
r7.xyzw = r8.xyzw ? float4(1,1,1,1) : r7.xyzw;
r0.xy = r3.wx * r1.xx + r3.zy;
r1.xy = r6.wx * r1.xx + r6.zy;
r0.xy = r0.xy + r5.wx;
r1.xy = r1.xy + r7.wx;
r3.xy = r5.zy * r2.yy + r0.xy;
r3.zw = r7.zy * r2.yy + r1.xy;
r0.x = dot(r3.xyzw, r4.xyzw);
} else {
r0.x = 1;
}
r0.y = -0.5 + r0.w;
r0.y = saturate(r0.y * cb0[26].z + 0.5);
r0.y = r0.y * r0.y + -1;
r0.y = cb0[26].y * r0.y + 1;
r0.x = r0.x * r0.x + -1;
r0.x = cb0[26].y * r0.x + 1;
o0.xyz = sqrt(r0.yxy);
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
// using 3Dmigoto v1.2.61 on Sun Jul 02 15:46:08 2017
//
//
// Note: shader requires additional functionality:
// Early depth-stencil
//
//
// 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 | forceEarlyDepthStencil
dcl_constantbuffer cb0[32], immediateIndexed
dcl_constantbuffer cb1[53], immediateIndexed
dcl_constantbuffer cb2[4], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, mode_default
dcl_sampler s3, mode_default
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 11
dcl_resource_texture2d (float,float,float,float) t125
mul r0.xy, v0.xyxx, cb2[3].zwzz
sample_l_indexable(texture2d)(float,float,float,float) r0.z, r0.xyxx, t2.yzxw, s2, l(0.000000)
mad r0.z, r0.z, cb1[51].z, -cb1[51].w
div r0.z, l(1.000000, 1.000000, 1.000000, 1.000000), r0.z
mad r1.xy, v0.xyxx, cb2[3].zwzz, -cb1[52].wzww
div r1.xy, r1.xyxx, cb1[52].xyxx
mul r1.xy, r0.zzzz, r1.xyxx

ld_indexable(texture2d)(float,float,float,float) r21.xyzw, l(0, 0, 0, 0), t125.xyzw
add r21.w, r0.z, -r21.y
mad r1.x, r21.x, -r21.w, r1.x



mul r2.xyzw, r1.yyyy, cb0[28].xyzw
mad r1.xyzw, r1.xxxx, cb0[27].xyzw, r2.xyzw
mad r1.xyzw, r0.zzzz, cb0[29].xyzw, r1.xyzw
add r1.xyzw, r1.xyzw, cb0[30].xyzw
div r1.xy, r1.xyxx, r1.wwww
min r0.w, r1.z, l(0.999990)
sample_l_indexable(texture2d)(float,float,float,float) r1.w, r0.xyxx, t0.xyzw, s0, l(0.000000)
mul r1.w, r1.w, l(255.000000)
round_ne r1.w, r1.w
ftou r1.w, r1.w
and r2.x, r1.w, l(15)
mad r1.xy, r1.xyxx, cb0[1].xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
frc r2.yz, r1.xxyx
round_ni r1.xy, r1.xyxx
add r1.xy, r1.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
mul r1.xy, r1.xyxx, cb0[1].zwzz
gather4_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r3.xyzw, r1.xyxx, t3.xyzw, s3.x
add r4.xyzw, -r0.wwww, r3.xyzw
mad_sat r4.xyzw, r4.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000)
gather4_aoffimmi_indexable(1,-1,0)(texture2d)(float,float,float,float) r5.xyzw, r1.xyxx, t3.xyzw, s3.x
add r6.xyzw, -r0.wwww, r5.xyzw
mad_sat r6.xyzw, r6.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000)
gather4_aoffimmi_indexable(-1,1,0)(texture2d)(float,float,float,float) r7.xyzw, r1.xyxx, t3.xyzw, s3.x
add r8.xyzw, -r0.wwww, r7.xyzw
mad_sat r8.xyzw, r8.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000)
gather4_aoffimmi_indexable(1,1,0)(texture2d)(float,float,float,float) r9.xyzw, r1.xyxx, t3.xyzw, s3.x
add r10.xyzw, -r0.wwww, r9.xyzw
mad_sat r10.xyzw, r10.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000)
add r1.xy, -r2.yzyy, l(1.000000, 1.000000, 0.000000, 0.000000)
mad r4.xy, r4.wxww, r1.xxxx, r4.zyzz
mad r4.zw, r8.wwwx, r1.xxxx, r8.zzzy
add r4.xy, r6.wxww, r4.xyxx
add r4.zw, r10.wwwx, r4.zzzw
mad r6.xy, r6.zyzz, r2.yyyy, r4.xyxx
mad r6.zw, r10.zzzy, r2.yyyy, r4.zzzw
mul r4.x, r1.y, l(0.111111112)
mov r4.yz, l(0,0.111111112,0.111111112,0)
mul r4.w, r2.z, l(0.111111112)
dp4 r0.w, r6.xyzw, r4.xyzw
add r0.z, r0.z, -cb0[31].z
mul_sat r0.z, r0.z, cb0[31].w
add o0.w, -r0.z, l(1.000000)
ieq r6.xyzw, r2.xxxx, l(2, 3, 5, 6)
or r0.z, r6.y, r6.x
or r0.z, r6.z, r0.z
or r0.z, r6.w, r0.z
ieq r2.xz, r2.xxxx, l(7, 0, 9, 0)
or r0.z, r0.z, r2.x
or r0.z, r2.z, r0.z
if_nz r0.z
sample_l_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t1.wxyz, s1, l(0.000000)
and r0.y, r1.w, l(16)
min r0.x, r0.x, l(0.999000)
add r0.x, -r0.x, l(1.000000)
log r0.x, r0.x
mul r0.x, r0.x, l(-0.0346573591)
movc r0.x, r0.y, l(-0.000000), r0.x
or r0.y, r2.z, r2.x
movc r0.x, r0.y, l(1.000000), r0.x
add r0.y, r1.z, cb0[31].x
mul r0.x, r0.x, cb0[31].y
add r6.xyzw, -r3.xyzw, r0.yyyy
max r6.xyzw, r6.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r6.xyzw, r0.xxxx, -r6.xyzw
mul r6.xyzw, r6.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695)
exp_sat r6.xyzw, r6.xyzw
lt r3.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r3.xyzw
movc r3.xyzw, r3.xyzw, l(1.000000,1.000000,1.000000,1.000000), r6.xyzw
add r6.xyzw, -r5.xyzw, r0.yyyy
max r6.xyzw, r6.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r6.xyzw, r0.xxxx, -r6.xyzw
mul r6.xyzw, r6.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695)
exp_sat r6.xyzw, r6.xyzw
lt r5.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r5.xyzw
movc r5.xyzw, r5.xyzw, l(1.000000,1.000000,1.000000,1.000000), r6.xyzw
add r6.xyzw, -r7.xyzw, r0.yyyy
max r6.xyzw, r6.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r6.xyzw, r0.xxxx, -r6.xyzw
mul r6.xyzw, r6.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695)
exp_sat r6.xyzw, r6.xyzw
lt r7.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r7.xyzw
movc r6.xyzw, r7.xyzw, l(1.000000,1.000000,1.000000,1.000000), r6.xyzw
add r7.xyzw, -r9.xyzw, r0.yyyy
max r7.xyzw, r7.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r7.xyzw, r0.xxxx, -r7.xyzw
mul r7.xyzw, r7.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695)
exp_sat r7.xyzw, r7.xyzw
lt r8.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r9.xyzw
movc r7.xyzw, r8.xyzw, l(1.000000,1.000000,1.000000,1.000000), r7.xyzw
mad r0.xy, r3.wxww, r1.xxxx, r3.zyzz
mad r1.xy, r6.wxww, r1.xxxx, r6.zyzz
add r0.xy, r5.wxww, r0.xyxx
add r1.xy, r7.wxww, r1.xyxx
mad r3.xy, r5.zyzz, r2.yyyy, r0.xyxx
mad r3.zw, r7.zzzy, r2.yyyy, r1.xxxy
dp4 r0.x, r3.xyzw, r4.xyzw
else
mov r0.x, l(1.000000)
endif
add r0.y, r0.w, l(-0.500000)
mad_sat r0.y, r0.y, cb0[26].z, l(0.500000)
mad r0.y, r0.y, r0.y, l(-1.000000)
mad r0.y, cb0[26].y, r0.y, l(1.000000)
mad r0.x, r0.x, r0.x, l(-1.000000)
mad r0.x, cb0[26].y, r0.x, l(1.000000)
sqrt o0.xyz, r0.yxyy
ret
// Approximately 0 instruction slots used

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



This is the line of code I input into the shader:


ld_indexable(texture2d)(float,float,float,float) r21.xyzw, l(0, 0, 0, 0), t125.xyzw
add r21.w, r0.z, -r21.y
mad r1.x, r21.x, -r21.w, r1.x


Now was I supposed to input that line of code?? Also the code from Tekken 7 was just ASM was I supposed to omit the HLSL part of the code and just leave the ASM part??

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#38
Posted 07/02/2017 08:00 PM   
Use only the ASM part....not the HLSL. I also increase the temp to 21. [code]// // Generated by Microsoft (R) D3D Shader Disassembler // // using 3Dmigoto v1.2.61 on Sun Jul 02 15:46:08 2017 // // // Note: shader requires additional functionality: // Early depth-stencil // // // 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 | forceEarlyDepthStencil dcl_constantbuffer cb0[32], immediateIndexed dcl_constantbuffer cb1[53], immediateIndexed dcl_constantbuffer cb2[4], immediateIndexed dcl_sampler s0, mode_default dcl_sampler s1, mode_default dcl_sampler s2, mode_default dcl_sampler s3, mode_default 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 11 dcl_temps 21 dcl_resource_texture2d (float,float,float,float) t125 mul r0.xy, v0.xyxx, cb2[3].zwzz sample_l_indexable(texture2d)(float,float,float,float) r0.z, r0.xyxx, t2.yzxw, s2, l(0.000000) mad r0.z, r0.z, cb1[51].z, -cb1[51].w div r0.z, l(1.000000, 1.000000, 1.000000, 1.000000), r0.z mad r1.xy, v0.xyxx, cb2[3].zwzz, -cb1[52].wzww div r1.xy, r1.xyxx, cb1[52].xyxx mul r1.xy, r0.zzzz, r1.xyxx ld_indexable(texture2d)(float,float,float,float) r21.xyzw, l(0, 0, 0, 0), t125.xyzw add r21.w, r0.z, -r21.y mad r1.x, r21.x, -r21.w, r1.x mul r2.xyzw, r1.yyyy, cb0[28].xyzw mad r1.xyzw, r1.xxxx, cb0[27].xyzw, r2.xyzw mad r1.xyzw, r0.zzzz, cb0[29].xyzw, r1.xyzw add r1.xyzw, r1.xyzw, cb0[30].xyzw div r1.xy, r1.xyxx, r1.wwww min r0.w, r1.z, l(0.999990) sample_l_indexable(texture2d)(float,float,float,float) r1.w, r0.xyxx, t0.xyzw, s0, l(0.000000) mul r1.w, r1.w, l(255.000000) round_ne r1.w, r1.w ftou r1.w, r1.w and r2.x, r1.w, l(15) mad r1.xy, r1.xyxx, cb0[1].xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000) frc r2.yz, r1.xxyx round_ni r1.xy, r1.xyxx add r1.xy, r1.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000) mul r1.xy, r1.xyxx, cb0[1].zwzz gather4_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r3.xyzw, r1.xyxx, t3.xyzw, s3.x add r4.xyzw, -r0.wwww, r3.xyzw mad_sat r4.xyzw, r4.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000) gather4_aoffimmi_indexable(1,-1,0)(texture2d)(float,float,float,float) r5.xyzw, r1.xyxx, t3.xyzw, s3.x add r6.xyzw, -r0.wwww, r5.xyzw mad_sat r6.xyzw, r6.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000) gather4_aoffimmi_indexable(-1,1,0)(texture2d)(float,float,float,float) r7.xyzw, r1.xyxx, t3.xyzw, s3.x add r8.xyzw, -r0.wwww, r7.xyzw mad_sat r8.xyzw, r8.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000) gather4_aoffimmi_indexable(1,1,0)(texture2d)(float,float,float,float) r9.xyzw, r1.xyxx, t3.xyzw, s3.x add r10.xyzw, -r0.wwww, r9.xyzw mad_sat r10.xyzw, r10.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000) add r1.xy, -r2.yzyy, l(1.000000, 1.000000, 0.000000, 0.000000) mad r4.xy, r4.wxww, r1.xxxx, r4.zyzz mad r4.zw, r8.wwwx, r1.xxxx, r8.zzzy add r4.xy, r6.wxww, r4.xyxx add r4.zw, r10.wwwx, r4.zzzw mad r6.xy, r6.zyzz, r2.yyyy, r4.xyxx mad r6.zw, r10.zzzy, r2.yyyy, r4.zzzw mul r4.x, r1.y, l(0.111111112) mov r4.yz, l(0,0.111111112,0.111111112,0) mul r4.w, r2.z, l(0.111111112) dp4 r0.w, r6.xyzw, r4.xyzw add r0.z, r0.z, -cb0[31].z mul_sat r0.z, r0.z, cb0[31].w add o0.w, -r0.z, l(1.000000) ieq r6.xyzw, r2.xxxx, l(2, 3, 5, 6) or r0.z, r6.y, r6.x or r0.z, r6.z, r0.z or r0.z, r6.w, r0.z ieq r2.xz, r2.xxxx, l(7, 0, 9, 0) or r0.z, r0.z, r2.x or r0.z, r2.z, r0.z if_nz r0.z sample_l_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t1.wxyz, s1, l(0.000000) and r0.y, r1.w, l(16) min r0.x, r0.x, l(0.999000) add r0.x, -r0.x, l(1.000000) log r0.x, r0.x mul r0.x, r0.x, l(-0.0346573591) movc r0.x, r0.y, l(-0.000000), r0.x or r0.y, r2.z, r2.x movc r0.x, r0.y, l(1.000000), r0.x add r0.y, r1.z, cb0[31].x mul r0.x, r0.x, cb0[31].y add r6.xyzw, -r3.xyzw, r0.yyyy max r6.xyzw, r6.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) mul r6.xyzw, r0.xxxx, -r6.xyzw mul r6.xyzw, r6.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695) exp_sat r6.xyzw, r6.xyzw lt r3.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r3.xyzw movc r3.xyzw, r3.xyzw, l(1.000000,1.000000,1.000000,1.000000), r6.xyzw add r6.xyzw, -r5.xyzw, r0.yyyy max r6.xyzw, r6.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) mul r6.xyzw, r0.xxxx, -r6.xyzw mul r6.xyzw, r6.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695) exp_sat r6.xyzw, r6.xyzw lt r5.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r5.xyzw movc r5.xyzw, r5.xyzw, l(1.000000,1.000000,1.000000,1.000000), r6.xyzw add r6.xyzw, -r7.xyzw, r0.yyyy max r6.xyzw, r6.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) mul r6.xyzw, r0.xxxx, -r6.xyzw mul r6.xyzw, r6.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695) exp_sat r6.xyzw, r6.xyzw lt r7.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r7.xyzw movc r6.xyzw, r7.xyzw, l(1.000000,1.000000,1.000000,1.000000), r6.xyzw add r7.xyzw, -r9.xyzw, r0.yyyy max r7.xyzw, r7.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000) mul r7.xyzw, r0.xxxx, -r7.xyzw mul r7.xyzw, r7.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695) exp_sat r7.xyzw, r7.xyzw lt r8.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r9.xyzw movc r7.xyzw, r8.xyzw, l(1.000000,1.000000,1.000000,1.000000), r7.xyzw mad r0.xy, r3.wxww, r1.xxxx, r3.zyzz mad r1.xy, r6.wxww, r1.xxxx, r6.zyzz add r0.xy, r5.wxww, r0.xyxx add r1.xy, r7.wxww, r1.xyxx mad r3.xy, r5.zyzz, r2.yyyy, r0.xyxx mad r3.zw, r7.zzzy, r2.yyyy, r1.xxxy dp4 r0.x, r3.xyzw, r4.xyzw else mov r0.x, l(1.000000) endif add r0.y, r0.w, l(-0.500000) mad_sat r0.y, r0.y, cb0[26].z, l(0.500000) mad r0.y, r0.y, r0.y, l(-1.000000) mad r0.y, cb0[26].y, r0.y, l(1.000000) mad r0.x, r0.x, r0.x, l(-1.000000) mad r0.x, cb0[26].y, r0.x, l(1.000000) sqrt o0.xyz, r0.yxyy ret // Approximately 0 instruction slots used[/code]
Use only the ASM part....not the HLSL.
I also increase the temp to 21.

//
// Generated by Microsoft (R) D3D Shader Disassembler
//
// using 3Dmigoto v1.2.61 on Sun Jul 02 15:46:08 2017
//
//
// Note: shader requires additional functionality:
// Early depth-stencil
//
//
// 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 | forceEarlyDepthStencil
dcl_constantbuffer cb0[32], immediateIndexed
dcl_constantbuffer cb1[53], immediateIndexed
dcl_constantbuffer cb2[4], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, mode_default
dcl_sampler s3, mode_default
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 11
dcl_temps 21

dcl_resource_texture2d (float,float,float,float) t125

mul r0.xy, v0.xyxx, cb2[3].zwzz
sample_l_indexable(texture2d)(float,float,float,float) r0.z, r0.xyxx, t2.yzxw, s2, l(0.000000)
mad r0.z, r0.z, cb1[51].z, -cb1[51].w
div r0.z, l(1.000000, 1.000000, 1.000000, 1.000000), r0.z
mad r1.xy, v0.xyxx, cb2[3].zwzz, -cb1[52].wzww
div r1.xy, r1.xyxx, cb1[52].xyxx
mul r1.xy, r0.zzzz, r1.xyxx

ld_indexable(texture2d)(float,float,float,float) r21.xyzw, l(0, 0, 0, 0), t125.xyzw
add r21.w, r0.z, -r21.y
mad r1.x, r21.x, -r21.w, r1.x



mul r2.xyzw, r1.yyyy, cb0[28].xyzw
mad r1.xyzw, r1.xxxx, cb0[27].xyzw, r2.xyzw
mad r1.xyzw, r0.zzzz, cb0[29].xyzw, r1.xyzw
add r1.xyzw, r1.xyzw, cb0[30].xyzw
div r1.xy, r1.xyxx, r1.wwww
min r0.w, r1.z, l(0.999990)
sample_l_indexable(texture2d)(float,float,float,float) r1.w, r0.xyxx, t0.xyzw, s0, l(0.000000)
mul r1.w, r1.w, l(255.000000)
round_ne r1.w, r1.w
ftou r1.w, r1.w
and r2.x, r1.w, l(15)
mad r1.xy, r1.xyxx, cb0[1].xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
frc r2.yz, r1.xxyx
round_ni r1.xy, r1.xyxx
add r1.xy, r1.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
mul r1.xy, r1.xyxx, cb0[1].zwzz
gather4_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r3.xyzw, r1.xyxx, t3.xyzw, s3.x
add r4.xyzw, -r0.wwww, r3.xyzw
mad_sat r4.xyzw, r4.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000)
gather4_aoffimmi_indexable(1,-1,0)(texture2d)(float,float,float,float) r5.xyzw, r1.xyxx, t3.xyzw, s3.x
add r6.xyzw, -r0.wwww, r5.xyzw
mad_sat r6.xyzw, r6.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000)
gather4_aoffimmi_indexable(-1,1,0)(texture2d)(float,float,float,float) r7.xyzw, r1.xyxx, t3.xyzw, s3.x
add r8.xyzw, -r0.wwww, r7.xyzw
mad_sat r8.xyzw, r8.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000)
gather4_aoffimmi_indexable(1,1,0)(texture2d)(float,float,float,float) r9.xyzw, r1.xyxx, t3.xyzw, s3.x
add r10.xyzw, -r0.wwww, r9.xyzw
mad_sat r10.xyzw, r10.xyzw, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 1.000000)
add r1.xy, -r2.yzyy, l(1.000000, 1.000000, 0.000000, 0.000000)
mad r4.xy, r4.wxww, r1.xxxx, r4.zyzz
mad r4.zw, r8.wwwx, r1.xxxx, r8.zzzy
add r4.xy, r6.wxww, r4.xyxx
add r4.zw, r10.wwwx, r4.zzzw
mad r6.xy, r6.zyzz, r2.yyyy, r4.xyxx
mad r6.zw, r10.zzzy, r2.yyyy, r4.zzzw
mul r4.x, r1.y, l(0.111111112)
mov r4.yz, l(0,0.111111112,0.111111112,0)
mul r4.w, r2.z, l(0.111111112)
dp4 r0.w, r6.xyzw, r4.xyzw
add r0.z, r0.z, -cb0[31].z
mul_sat r0.z, r0.z, cb0[31].w
add o0.w, -r0.z, l(1.000000)
ieq r6.xyzw, r2.xxxx, l(2, 3, 5, 6)
or r0.z, r6.y, r6.x
or r0.z, r6.z, r0.z
or r0.z, r6.w, r0.z
ieq r2.xz, r2.xxxx, l(7, 0, 9, 0)
or r0.z, r0.z, r2.x
or r0.z, r2.z, r0.z
if_nz r0.z
sample_l_indexable(texture2d)(float,float,float,float) r0.x, r0.xyxx, t1.wxyz, s1, l(0.000000)
and r0.y, r1.w, l(16)
min r0.x, r0.x, l(0.999000)
add r0.x, -r0.x, l(1.000000)
log r0.x, r0.x
mul r0.x, r0.x, l(-0.0346573591)
movc r0.x, r0.y, l(-0.000000), r0.x
or r0.y, r2.z, r2.x
movc r0.x, r0.y, l(1.000000), r0.x
add r0.y, r1.z, cb0[31].x
mul r0.x, r0.x, cb0[31].y
add r6.xyzw, -r3.xyzw, r0.yyyy
max r6.xyzw, r6.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r6.xyzw, r0.xxxx, -r6.xyzw
mul r6.xyzw, r6.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695)
exp_sat r6.xyzw, r6.xyzw
lt r3.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r3.xyzw
movc r3.xyzw, r3.xyzw, l(1.000000,1.000000,1.000000,1.000000), r6.xyzw
add r6.xyzw, -r5.xyzw, r0.yyyy
max r6.xyzw, r6.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r6.xyzw, r0.xxxx, -r6.xyzw
mul r6.xyzw, r6.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695)
exp_sat r6.xyzw, r6.xyzw
lt r5.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r5.xyzw
movc r5.xyzw, r5.xyzw, l(1.000000,1.000000,1.000000,1.000000), r6.xyzw
add r6.xyzw, -r7.xyzw, r0.yyyy
max r6.xyzw, r6.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r6.xyzw, r0.xxxx, -r6.xyzw
mul r6.xyzw, r6.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695)
exp_sat r6.xyzw, r6.xyzw
lt r7.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r7.xyzw
movc r6.xyzw, r7.xyzw, l(1.000000,1.000000,1.000000,1.000000), r6.xyzw
add r7.xyzw, -r9.xyzw, r0.yyyy
max r7.xyzw, r7.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r7.xyzw, r0.xxxx, -r7.xyzw
mul r7.xyzw, r7.xyzw, l(1.442695, 1.442695, 1.442695, 1.442695)
exp_sat r7.xyzw, r7.xyzw
lt r8.xyzw, l(0.990000, 0.990000, 0.990000, 0.990000), r9.xyzw
movc r7.xyzw, r8.xyzw, l(1.000000,1.000000,1.000000,1.000000), r7.xyzw
mad r0.xy, r3.wxww, r1.xxxx, r3.zyzz
mad r1.xy, r6.wxww, r1.xxxx, r6.zyzz
add r0.xy, r5.wxww, r0.xyxx
add r1.xy, r7.wxww, r1.xyxx
mad r3.xy, r5.zyzz, r2.yyyy, r0.xyxx
mad r3.zw, r7.zzzy, r2.yyyy, r1.xxxy
dp4 r0.x, r3.xyzw, r4.xyzw
else
mov r0.x, l(1.000000)
endif
add r0.y, r0.w, l(-0.500000)
mad_sat r0.y, r0.y, cb0[26].z, l(0.500000)
mad r0.y, r0.y, r0.y, l(-1.000000)
mad r0.y, cb0[26].y, r0.y, l(1.000000)
mad r0.x, r0.x, r0.x, l(-1.000000)
mad r0.x, cb0[26].y, r0.x, l(1.000000)
sqrt o0.xyz, r0.yxyy
ret
// Approximately 0 instruction slots used

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

Like my fixes? you can donate to Paypal: dhr.donation@gmail.com

#39
Posted 07/02/2017 09:27 PM   
OK I did like you said and took out "Replace" in the name it still did not look like the Shadows went into Stereo?? I have a screenshot here: Oh and Please forgive my ignorance I never messed with this part of the code before. I did see what you did with the Temp variable, I did not know I was supposed to change that too but it still did not work. Would this mean it does a differnt projection scheme or similar?? I really appreciate the help thank you so much by the way both you guys ;)
OK I did like you said and took out "Replace" in the name it still did not look like the Shadows went into Stereo?? I have a screenshot here:

Oh and Please forgive my ignorance I never messed with this part of the code before. I did see what you did with the Temp variable, I did not know I was supposed to change that too but it still did not work.

Would this mean it does a differnt projection scheme or similar??


I really appreciate the help thank you so much by the way both you guys ;)

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#40
Posted 07/02/2017 11:34 PM   
@The_Nephilim That code should correct shadows, there are 2 possibilites: 1) Your are catching the wrong shader. 2) The name of the ASM .txt is not the correct one. If the shader is the "504341e20641b917", the file name need to be: 504341e20641b917-ps.txt i can't see the screenshot in S3D (not in my gaming rig), shadows are in 2D?....when you apply the code, shadows have some change? or they look the same.
@The_Nephilim

That code should correct shadows, there are 2 possibilites:

1) Your are catching the wrong shader.
2) The name of the ASM .txt is not the correct one. If the shader is the "504341e20641b917", the file name need to be: 504341e20641b917-ps.txt

i can't see the screenshot in S3D (not in my gaming rig), shadows are in 2D?....when you apply the code, shadows have some change? or they look the same.

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

Like my fixes? you can donate to Paypal: dhr.donation@gmail.com

#41
Posted 07/03/2017 12:02 PM   
Although the shadow is rendered in stereo( I mean The number of shadows per object is two) The spacing between shadows is too far than the distance of the actual object For example, if the distance of an object is 1cm, the shadow distance is 5cm Looking at the current shadows array, the arrangement of objects and the arrangement of shadows are different, as if people were playing night games at an indoor football stadium
Although the shadow is rendered in stereo( I mean The number of shadows per object is two)
The spacing between shadows is too far than the distance of the actual object

For example, if the distance of an object is 1cm, the shadow distance is 5cm

Looking at the current shadows array, the arrangement of objects and the arrangement of shadows are different, as if people were playing night games at an indoor football stadium

i7 8700K @4.9
GTX1080Ti
Asrock Z370 Gamming K6
Windows10 64bit
LG OLED UHD 3dtv 55E6K

#42
Posted 07/03/2017 02:05 PM   
Try multiplying the correction by 0.5 (or 0.25 if it's still too much). It would be: [code] ld_indexable(texture2d)(float,float,float,float) r21.xyzw, l(0, 0, 0, 0), t125.xyzw add r21.w, r0.z, -r21.y mul r21.w, r21.w, l(0.500000) mad r1.x, r21.x, -r21.w, r1.x [/code] I hope that's enough and that you don't need a FOV correction (I didn't in these UE4 games).
Try multiplying the correction by 0.5 (or 0.25 if it's still too much). It would be:

ld_indexable(texture2d)(float,float,float,float) r21.xyzw, l(0, 0, 0, 0), t125.xyzw
add r21.w, r0.z, -r21.y
mul r21.w, r21.w, l(0.500000)
mad r1.x, r21.x, -r21.w, r1.x


I hope that's enough and that you don't need a FOV correction (I didn't in these UE4 games).

CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: Gainward Phoenix 1080 GLH
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com

#43
Posted 07/03/2017 03:41 PM   
OK I ran through the shader again and I might have had the wrong one as I have a different one now.. This is the shader I found aff30765ce955f97-ps_replace: [code] // // Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.20499 // // using 3Dmigoto v1.2.61 on Mon Jul 03 17:47:14 2017 // // // Buffer Definitions: // // cbuffer cb2 // { // // float4 cb2[7]; // Offset: 0 Size: 112 // // } // // cbuffer cb1 // { // // float4 cb1[33]; // Offset: 0 Size: 528 // // } // // cbuffer cb0 // { // // float4 cb0[52]; // Offset: 0 Size: 832 // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // s0_s_s sampler NA NA 0 1 // s1_s_s sampler NA NA 1 1 // s2_s_s sampler NA NA 2 1 // s3_s_s sampler NA NA 3 1 // s4_s_s sampler NA NA 4 1 // s5_s_s sampler NA NA 5 1 // s6_s_s sampler NA NA 6 1 // s7_s_s sampler NA NA 7 1 // t0 texture float4 2d 0 1 // t1 texture float4 2d 1 1 // t2 texture float4 2d 2 1 // t3 texture float4 2d 3 1 // t4 texture float4 2d 4 1 // t5 texture float4 2d 5 1 // t6 texture float4 2d 6 1 // t7 texture float4 2d 7 1 // cb0 cbuffer NA NA 0 1 // cb1 cbuffer NA NA 1 1 // cb2 cbuffer NA NA 2 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // TEXCOORD 0 xyzw 0 NONE float xy // TEXCOORD 1 xyz 1 NONE float xyz // SV_POSITION 0 xyzw 2 POS float // // // 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 cb2[7], immediateIndexed dcl_constantbuffer cb1[33], immediateIndexed dcl_constantbuffer cb0[52], immediateIndexed dcl_sampler s0, mode_default dcl_sampler s1, mode_default dcl_sampler s2, mode_default dcl_sampler s3, mode_default dcl_sampler s4, mode_default dcl_sampler s5, mode_default dcl_sampler s6, mode_default dcl_sampler s7, mode_default 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_resource_texture2d (float,float,float,float) t4 dcl_resource_texture2d (float,float,float,float) t5 dcl_resource_texture2d (float,float,float,float) t6 dcl_resource_texture2d (float,float,float,float) t7 dcl_input_ps linear v0.xy dcl_input_ps linear v1.xyz dcl_output o0.xyzw dcl_temps 18 sample_l_indexable(texture2d)(float,float,float,float) r0.xyzw, v0.xyxx, t1.xyzw, s1, l(0.000000) mul r0.w, r0.w, l(255.000000) round_ne r0.w, r0.w ftou r0.w, r0.w utof r0.w, r0.w ftoi r0.w, r0.w and r1.x, r0.w, l(15) itof r1.y, r1.x ne r1.z, r1.y, l(0.000000) if_nz r1.z dp3 r1.z, v1.xyzx, v1.xyzx rsq r1.z, r1.z mul r2.xyz, r1.zzzz, v1.xyzx sample_l_indexable(texture2d)(float,float,float,float) r3.xyz, v0.xyxx, t0.xyzw, s0, l(0.000000) sample_l_indexable(texture2d)(float,float,float,float) r4.xyzw, v0.xyxx, t2.xyzw, s2, l(0.000000) sample_l_indexable(texture2d)(float,float,float,float) r5.xyzw, v0.xyxx, t3.xyzw, s3, l(0.000000) mul r1.zw, v0.yyyx, cb1[3].yyyx ftou r1.zw, r1.zzzw utof r1.zw, r1.zzzw ftou r2.w, cb1[32].x utof r2.w, r2.w ftoi r1.zw, r1.zzzw iadd r1.z, r1.w, r1.z ftoi r1.w, r2.w iadd r1.z, r1.z, r1.w and r1.z, r1.z, l(1) itof r1.z, r1.z mad r3.xyz, r3.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000) dp3 r1.w, r3.xyzx, r3.xyzx rsq r1.w, r1.w mul r6.xyz, r3.xyzx, r1.wwww and r2.w, r0.w, l(16) itof r2.w, r2.w ne r2.w, r2.w, l(0.000000) movc r5.xyzw, r2.wwww, l(0,0,0,0), r5.xyzw ieq r7.xy, r1.xxxx, l(5, 7, 0, 0) ne r1.x, r1.z, l(0.000000) movc r8.xy, r1.xxxx, l(1.000000,0,0,0), l(0,1.000000,0,0) mul r8.z, r0.y, r8.y mov r9.xyz, r4.xyzx mov r9.w, r0.y movc r8.xyzw, r7.xxxx, r8.xxxz, r9.xyzw mad r4.xyz, -r8.xyzx, r0.xxxx, r8.xyzx mul r0.y, r8.w, l(0.080000) mad r7.xzw, r8.wwww, l(-0.080000, 0.000000, -0.080000, -0.080000), r8.xxyz mad r7.xzw, r0.xxxx, r7.xxzw, r0.yyyy mad r4.xyz, r4.xyzx, cb1[5].wwww, cb1[5].xyzx mad r7.xzw, r7.xxzw, cb1[6].wwww, cb1[6].xxyz dp3_sat r0.y, r6.xyzx, cb2[2].xyzx dp3_sat r1.x, -r2.xyzx, -cb2[2].xyzx log r1.x, r1.x mul r1.x, r1.x, l(10.000000) exp r1.x, r1.x add r1.x, -r1.x, l(0.800000) max r1.x, r1.x, l(0.000000) movc r1.x, r7.y, r1.x, l(1.000000) ne r1.z, l(0.000000), cb2[6].x if_nz r1.z sample_l_indexable(texture2d)(float,float,float,float) r9.xyzw, v0.xyxx, t5.xyzw, s5, l(0.000000) mul r10.xyzw, r9.xyzw, r9.xyzw sample_l_indexable(texture2d)(float,float,float,float) r1.z, v0.xyxx, t4.yzxw, s4, l(0.000000) mad r1.z, r1.z, cb0[51].z, -cb0[51].w div r1.z, l(1.000000, 1.000000, 1.000000, 1.000000), r1.z and r9.zw, r0.wwww, l(0, 0, 64, 32) itof r9.zw, r9.zzzw ne r9.zw, r9.zzzw, l(0.000000, 0.000000, 0.000000, 0.000000) movc r0.w, r9.z, l(0), l(1.000000) movc r0.w, r9.w, r0.w, l(1.000000) dp4 r2.w, cb2[5].xyzw, l(1.000000, 1.000000, 1.000000, 1.000000) dp4 r0.w, r0.wwww, cb2[5].xyzw add r0.w, r0.w, l(-1.000000) mad r0.w, r2.w, r0.w, l(1.000000) mad_sat r1.z, r1.z, cb2[4].z, cb2[4].w mul r1.z, r1.z, r1.z mad r9.xy, -r9.xyxx, r9.xyxx, r0.wwww mad r9.xy, r1.zzzz, r9.xyxx, r10.xyxx min r0.w, r10.w, r9.y mul r9.x, r10.z, r9.x mul r9.y, r10.z, r0.w else sample_l_indexable(texture2d)(float,float,float,float) r9.x, v0.xyxx, t6.xyzw, s6, l(0.000000) mov r9.y, l(1.000000) endif mul r0.w, r1.x, r9.y mov r10.x, r5.y mov r10.y, r0.z mov r10.z, l(1.000000) max r10.xyz, r10.xyzx, cb2[4].xxxx mul r11.xyz, r10.xyzx, r10.xyzx dp3 r1.x, r2.xyzx, r6.xyzx add r1.x, r1.x, r1.x mad r12.xyz, r6.xyzx, -r1.xxxx, r2.xyzx dp3 r1.x, cb2[2].xyzx, cb2[2].xyzx rsq r1.x, r1.x mad r1.z, -r10.y, r10.y, l(1.000000) sqrt r2.w, r1.z mad r2.w, r10.y, r10.y, r2.w mul r2.w, r1.z, r2.w mad r10.yzw, -r3.xxyz, r1.wwww, r12.xxyz mad r10.yzw, r2.wwww, r10.yyzw, r6.xxyz dp3 r2.w, r10.yzwy, r10.yzwy rsq r2.w, r2.w mul r10.yzw, r2.wwww, r10.yyzw lt r9.zw, l(0.000000, 0.000000, 0.000000, 0.000000), cb2[3].wwwz mul r12.xy, r1.xxxx, cb2[3].wzww min r12.xy, r12.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000) mad r12.xzw, r12.xxxx, l(0.500000, 0.000000, 0.500000, 0.500000), r11.xxyz min r12.xzw, r12.xxzw, l(1.000000, 0.000000, 1.000000, 1.000000) div r12.xzw, r11.xxyz, r12.xxzw mul r13.xyz, cb2[2].xyzx, cb2[3].wwww mad r14.xyz, r13.xyzx, l(-0.500000, -0.500000, -0.500000, 0.000000), cb2[2].xyzx dp3 r1.x, r10.yzwy, r13.xyzx mad r15.xyz, r1.xxxx, r10.yzwy, -r13.xyzx dp3 r2.w, r14.xyzx, r15.xyzx mul r1.x, r1.x, r1.x mad r1.x, cb2[3].w, cb2[3].w, -r1.x div_sat r1.x, r2.w, r1.x mad r13.xyz, r1.xxxx, r13.xyzx, r14.xyzx movc r12.xzw, r9.zzzz, r12.xxzw, l(1.000000,0,1.000000,1.000000) movc r13.xyz, r9.zzzz, r13.xyzx, cb2[2].xyzx mad r14.xyz, r12.yyyy, l(0.500000, 0.500000, 0.500000, 0.000000), r11.xyzx min r14.xyz, r14.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) div r11.xzw, r11.xxyz, r14.xxyz mul r11.xzw, r11.xxzw, r11.xxzw mul r11.xzw, r11.xxzw, r12.xxzw dp3 r1.x, r13.xyzx, r10.yzwy mad r10.yzw, r1.xxxx, r10.yyzw, -r13.xxyz dp3 r1.x, r10.yzwy, r10.yzwy rsq r1.x, r1.x mul r1.x, r1.x, cb2[3].z min r1.x, r1.x, l(1.000000) mad r10.yzw, r10.yyzw, r1.xxxx, r13.xxyz movc r10.yzw, r9.wwww, r10.yyzw, r13.xxyz movc r11.xzw, r9.wwww, r11.xxzw, r12.xxzw dp3 r1.x, r10.yzwy, r10.yzwy rsq r1.x, r1.x mul r12.xyz, r1.xxxx, r10.yzwy ftou r1.y, r1.y switch r1.y case l(1) case l(2) case l(3) case l(5) case l(6) mul r14.xyz, r4.xyzx, r11.wwww mul r13.xyz, r14.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000) break case l(4) mad r14.xyz, r10.yzwy, r1.xxxx, -r2.xyzx dp3 r2.w, r14.xyzx, r14.xyzx rsq r2.w, r2.w mul r14.xyz, r2.wwww, r14.xyzx dp3_sat r2.w, r6.xyzx, r12.xyzx dp3 r3.w, r6.xyzx, -r2.xyzx add r3.w, |r3.w|, l(0.000010) min r3.w, r3.w, l(1.000000) dp3_sat r6.w, r6.xyzx, r14.xyzx dp3_sat r7.y, -r2.xyzx, r14.xyzx mul r9.z, r10.x, r10.x mul r9.z, r9.z, r9.z mad r9.w, r6.w, r9.z, -r6.w mad r9.w, r9.w, r6.w, l(1.000000) mul r9.w, r9.w, r9.w mul r9.w, r9.w, l(3.14159274) div r9.z, r9.z, r9.w mul r14.y, r11.x, r9.z mul r9.z, r7.y, r7.y mad r9.z, r9.z, l(4.000000), l(0.000010) rcp r14.x, r9.z add r7.y, -r7.y, l(1.000000) mul r14.z, r7.y, r7.y mul r9.zw, r14.xxxz, r14.yyyz mul r12.w, r7.y, r9.w mad r7.y, -r9.w, r7.y, l(1.000000) mad r9.w, r7.y, l(0.040000), r12.w mul r13.w, r5.x, r9.w mad r9.w, -r9.w, r5.x, l(1.000000) mul r14.x, r11.y, r11.y mad r14.y, r6.w, r14.x, -r6.w mad r6.w, r14.y, r6.w, l(1.000000) mul r6.w, r6.w, r6.w mul r6.w, r6.w, l(3.14159274) div r6.w, r14.x, r6.w mul r6.w, r11.z, r6.w mul r14.x, r11.y, l(0.500000) mad r14.y, r11.y, l(-0.500000), l(1.000000) mad r3.w, r3.w, r14.y, r14.x mad r2.w, r2.w, r14.y, r14.x mul r2.w, r2.w, r3.w div r2.w, l(0.250000), r2.w mul_sat r3.w, r7.z, l(50.000000) mul r14.xyz, r7.xzwx, r7.yyyy mad r14.xyz, r3.wwww, r12.wwww, r14.xyzx mul r15.xyz, r4.xyzx, r11.wwww mul r2.w, r2.w, r6.w mul r14.xyz, r14.xyzx, r2.wwww mad r14.xyz, r15.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000), r14.xyzx mul r14.xyz, r9.wwww, r14.xyzx mad r13.xyz, r9.zzzz, r13.wwww, r14.xyzx break case l(8) mov_sat r14.xyzw, r5.xyzw mad r15.xyz, r10.yzwy, r1.xxxx, -r2.xyzx dp3 r2.w, r15.xyzx, r15.xyzx rsq r2.w, r2.w mul r15.xyz, r2.wwww, r15.xyzx dp3_sat r2.w, r6.xyzx, r12.xyzx dp3 r3.w, r6.xyzx, -r2.xyzx add r3.w, |r3.w|, l(0.000010) min r3.w, r3.w, l(1.000000) dp3_sat r6.w, r6.xyzx, r15.xyzx dp3_sat r7.y, -r2.xyzx, r15.xyzx mul r15.xyz, r4.xyzx, r11.wwww add r7.y, -r7.y, l(1.000000) mul r9.z, r7.y, r7.y mul r9.z, r9.z, r9.z mul r9.w, r7.y, r9.z mul r12.w, r14.y, l(50.000000) min r12.w, r12.w, l(1.000000) mad r7.y, -r9.z, r7.y, l(1.000000) mul r14.xyz, r14.xyzx, r7.yyyy mad r14.xyz, r12.wwww, r9.wwww, r14.xyzx mul r9.z, r11.y, r11.y mad r12.w, -r9.z, r6.w, r6.w mad r12.w, r12.w, r6.w, r9.z mul r13.w, r9.z, l(4.000000) mad r15.w, r9.z, l(4.000000), l(1.000000) mul r15.w, r15.w, l(3.14159274) rcp r15.w, r15.w mul r13.w, r9.z, r13.w mul r12.w, r12.w, r12.w div r12.w, r13.w, r12.w add r12.w, r12.w, l(1.000000) mul r12.w, r12.w, r15.w add r13.w, r2.w, r3.w mad r13.w, -r2.w, r3.w, r13.w mul r13.w, r13.w, l(4.000000) rcp r13.w, r13.w mul r12.w, r12.w, r13.w mul_sat r13.w, r7.z, l(50.000000) mul r16.xyz, r7.xzwx, r7.yyyy mad r16.xyz, r13.wwww, r9.wwww, r16.xyzx mad r7.y, r9.z, r6.w, -r6.w mad r6.w, r7.y, r6.w, l(1.000000) mul r6.w, r6.w, r6.w mul r6.w, r6.w, l(3.14159274) div r6.w, r9.z, r6.w mul r6.w, r11.z, r6.w mad r7.y, r3.w, r1.z, r11.y mad r9.z, r2.w, r1.z, r11.y mul r3.w, r3.w, r9.z mad r2.w, r2.w, r7.y, r3.w rcp r2.w, r2.w mul r2.w, r2.w, r6.w mul r2.w, r2.w, l(0.500000) mul r16.xyz, r16.xyzx, r2.wwww mad r14.xyz, r12.wwww, r14.xyzx, -r16.xyzx mad r14.xyz, r14.wwww, r14.xyzx, r16.xyzx mad r13.xyz, r15.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000), r14.xyzx break case l(9) mad r14.xyz, r10.yzwy, r1.xxxx, -r2.xyzx dp3 r2.w, r14.xyzx, r14.xyzx rsq r2.w, r2.w mul r14.xyz, r2.wwww, r14.xyzx dp3_sat r2.w, r6.xyzx, r12.xyzx dp3 r3.w, r6.xyzx, -r2.xyzx add r3.w, |r3.w|, l(0.000010) min r3.w, r3.w, l(1.000000) dp3_sat r6.w, r6.xyzx, r14.xyzx dp3_sat r7.y, -r2.xyzx, r14.xyzx mul r9.z, r11.y, r11.y mad r9.w, r6.w, r9.z, -r6.w mad r6.w, r9.w, r6.w, l(1.000000) mul r6.w, r6.w, r6.w mul r6.w, r6.w, l(3.14159274) div r6.w, r9.z, r6.w mul r6.w, r11.z, r6.w mad r9.z, r3.w, r1.z, r11.y mad r9.w, r2.w, r1.z, r11.y mul r3.w, r3.w, r9.w mad r2.w, r2.w, r9.z, r3.w rcp r2.w, r2.w mul r2.w, r2.w, r6.w add r3.w, -r7.y, l(1.000000) mul r6.w, r3.w, r3.w mul r6.w, r6.w, r6.w mul r7.y, r3.w, r6.w mul_sat r9.z, r7.z, l(50.000000) mad r3.w, -r6.w, r3.w, l(1.000000) mul r14.xyz, r7.xzwx, r3.wwww mad r14.xyz, r9.zzzz, r7.yyyy, r14.xyzx mul r2.w, r2.w, l(0.500000) mul r13.xyz, r14.xyzx, r2.wwww break default mov r13.xyz, l(0,0,0,0) break endswitch switch r1.y case l(1) case l(2) case l(3) case l(5) case l(6) mad r15.xyz, r10.yzwy, r1.xxxx, -r2.xyzx dp3 r2.w, r15.xyzx, r15.xyzx rsq r2.w, r2.w mul r15.xyz, r2.wwww, r15.xyzx dp3_sat r2.w, r6.xyzx, r12.xyzx dp3 r3.w, r6.xyzx, -r2.xyzx add r3.w, |r3.w|, l(0.000010) min r3.w, r3.w, l(1.000000) dp3_sat r6.w, r6.xyzx, r15.xyzx dp3_sat r7.y, -r2.xyzx, r15.xyzx mul r9.z, r11.y, r11.y mad r9.w, r6.w, r9.z, -r6.w mad r6.w, r9.w, r6.w, l(1.000000) mul r6.w, r6.w, r6.w mul r6.w, r6.w, l(3.14159274) div r6.w, r9.z, r6.w mul r6.w, r11.z, r6.w mad r9.z, r3.w, r1.z, r11.y mad r9.w, r2.w, r1.z, r11.y mul r3.w, r3.w, r9.w mad r2.w, r2.w, r9.z, r3.w rcp r2.w, r2.w mul r2.w, r2.w, r6.w add r3.w, -r7.y, l(1.000000) mul r6.w, r3.w, r3.w mul r6.w, r6.w, r6.w mul r7.y, r3.w, r6.w mul_sat r9.z, r7.z, l(50.000000) mad r3.w, -r6.w, r3.w, l(1.000000) mul r15.xyz, r7.xzwx, r3.wwww mad r15.xyz, r9.zzzz, r7.yyyy, r15.xyzx mul r2.w, r2.w, l(0.500000) mul r14.xyz, r15.xyzx, r2.wwww break case l(4) mad r15.xyz, r10.yzwy, r1.xxxx, -r2.xyzx dp3 r2.w, r15.xyzx, r15.xyzx rsq r2.w, r2.w mul r15.xyz, r2.wwww, r15.xyzx dp3_sat r2.w, r6.xyzx, r12.xyzx dp3 r3.w, r6.xyzx, -r2.xyzx add r3.w, |r3.w|, l(0.000010) min r3.w, r3.w, l(1.000000) dp3_sat r6.w, r6.xyzx, r15.xyzx dp3_sat r7.y, -r2.xyzx, r15.xyzx mul r9.z, r10.x, r10.x mul r9.z, r9.z, r9.z mad r9.w, r6.w, r9.z, -r6.w mad r9.w, r9.w, r6.w, l(1.000000) mul r9.w, r9.w, r9.w mul r9.w, r9.w, l(3.14159274) div r9.z, r9.z, r9.w mul r9.z, r11.x, r9.z mul r9.w, r7.y, r7.y mad r9.w, r9.w, l(4.000000), l(0.000010) rcp r9.w, r9.w add r7.y, -r7.y, l(1.000000) mul r10.x, r7.y, r7.y mul r10.x, r10.x, r10.x mul r11.x, r7.y, r10.x mad r7.y, -r10.x, r7.y, l(1.000000) mad r10.x, r7.y, l(0.040000), r11.x mul r12.w, r5.x, r10.x mul r9.z, r9.z, r9.w mad r9.w, -r10.x, r5.x, l(1.000000) mul r10.x, r11.y, r11.y mad r13.w, r6.w, r10.x, -r6.w mad r6.w, r13.w, r6.w, l(1.000000) mul r6.w, r6.w, r6.w mul r6.w, r6.w, l(3.14159274) div r6.w, r10.x, r6.w mul r6.w, r11.z, r6.w mul r10.x, r11.y, l(0.500000) mad r13.w, r11.y, l(-0.500000), l(1.000000) mad r3.w, r3.w, r13.w, r10.x mad r2.w, r2.w, r13.w, r10.x mul r2.w, r2.w, r3.w div r2.w, l(0.250000), r2.w mul_sat r3.w, r7.z, l(50.000000) mul r15.xyz, r7.xzwx, r7.yyyy mad r15.xyz, r3.wwww, r11.xxxx, r15.xyzx mul r16.xyz, r4.xyzx, r11.wwww mul r2.w, r2.w, r6.w mul r15.xyz, r15.xyzx, r2.wwww mad r15.xyz, r16.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000), r15.xyzx mul r15.xyz, r9.wwww, r15.xyzx mad r14.xyz, r9.zzzz, r12.wwww, r15.xyzx break case l(8) mov_sat r15.xyzw, r5.xyzw mad r16.xyz, r10.yzwy, r1.xxxx, -r2.xyzx dp3 r2.w, r16.xyzx, r16.xyzx rsq r2.w, r2.w mul r16.xyz, r2.wwww, r16.xyzx dp3_sat r2.w, r6.xyzx, r12.xyzx dp3 r3.w, r6.xyzx, -r2.xyzx add r3.w, |r3.w|, l(0.000010) min r3.w, r3.w, l(1.000000) dp3_sat r6.w, r6.xyzx, r16.xyzx dp3_sat r7.y, -r2.xyzx, r16.xyzx mul r16.xyz, r4.xyzx, r11.wwww add r7.y, -r7.y, l(1.000000) mul r9.z, r7.y, r7.y mul r9.z, r9.z, r9.z mul r9.w, r7.y, r9.z mul r10.x, r15.y, l(50.000000) min r10.x, r10.x, l(1.000000) mad r7.y, -r9.z, r7.y, l(1.000000) mul r15.xyz, r15.xyzx, r7.yyyy mad r15.xyz, r10.xxxx, r9.wwww, r15.xyzx mul r9.z, r11.y, r11.y mad r10.x, -r9.z, r6.w, r6.w mad r10.x, r10.x, r6.w, r9.z mul r11.x, r9.z, l(4.000000) mad r11.w, r9.z, l(4.000000), l(1.000000) mul r11.w, r11.w, l(3.14159274) rcp r11.w, r11.w mul r11.x, r9.z, r11.x mul r10.x, r10.x, r10.x div r10.x, r11.x, r10.x add r10.x, r10.x, l(1.000000) mul r10.x, r10.x, r11.w add r11.x, r2.w, r3.w mad r11.x, -r2.w, r3.w, r11.x mul r11.x, r11.x, l(4.000000) rcp r11.x, r11.x mul r10.x, r10.x, r11.x mul_sat r11.x, r7.z, l(50.000000) mul r17.xyz, r7.xzwx, r7.yyyy mad r17.xyz, r11.xxxx, r9.wwww, r17.xyzx mad r7.y, r9.z, r6.w, -r6.w mad r6.w, r7.y, r6.w, l(1.000000) mul r6.w, r6.w, r6.w mul r6.w, r6.w, l(3.14159274) div r6.w, r9.z, r6.w mul r6.w, r11.z, r6.w mad r7.y, r3.w, r1.z, r11.y mad r9.z, r2.w, r1.z, r11.y mul r3.w, r3.w, r9.z mad r2.w, r2.w, r7.y, r3.w rcp r2.w, r2.w mul r2.w, r2.w, r6.w mul r2.w, r2.w, l(0.500000) mul r17.xyz, r17.xyzx, r2.wwww mad r15.xyz, r10.xxxx, r15.xyzx, -r17.xyzx mad r15.xyz, r15.wwww, r15.xyzx, r17.xyzx mad r14.xyz, r16.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000), r15.xyzx break case l(9) mad r15.xyz, r10.yzwy, r1.xxxx, -r2.xyzx dp3 r2.w, r15.xyzx, r15.xyzx rsq r2.w, r2.w mul r15.xyz, r2.wwww, r15.xyzx dp3_sat r2.w, r6.xyzx, r12.xyzx dp3 r3.w, r6.xyzx, -r2.xyzx add r3.w, |r3.w|, l(0.000010) min r3.w, r3.w, l(1.000000) dp3_sat r6.w, r6.xyzx, r15.xyzx dp3_sat r7.y, -r2.xyzx, r15.xyzx mul r9.z, r11.y, r11.y mad r9.w, r6.w, r9.z, -r6.w mad r6.w, r9.w, r6.w, l(1.000000) mul r6.w, r6.w, r6.w mul r6.w, r6.w, l(3.14159274) div r6.w, r9.z, r6.w mul r6.w, r11.z, r6.w mad r9.z, r3.w, r1.z, r11.y mad r1.z, r2.w, r1.z, r11.y mul r1.z, r1.z, r3.w mad r1.z, r2.w, r9.z, r1.z rcp r1.z, r1.z mul r1.z, r1.z, r6.w add r2.w, -r7.y, l(1.000000) mul r3.w, r2.w, r2.w mul r3.w, r3.w, r3.w mul r6.w, r2.w, r3.w mul_sat r7.y, r7.z, l(50.000000) mad r2.w, -r3.w, r2.w, l(1.000000) mul r7.xzw, r7.xxzw, r2.wwww mad r7.xyz, r7.yyyy, r6.wwww, r7.xzwx mul r1.z, r1.z, l(0.500000) mul r14.xyz, r7.xyzx, r1.zzzz break default mov r14.xyz, l(0,0,0,0) break endswitch mul r0.y, r0.y, r9.x mul r7.xyz, r0.yyyy, cb2[1].xyzx add r9.xzw, r13.xxyz, r14.xxyz mul r11.xyz, r5.xyzx, r5.xyzx switch r1.y case l(2) mad r14.xyz, r10.yzwy, r1.xxxx, -r2.xyzx dp3 r0.y, r14.xyzx, r14.xyzx rsq r0.y, r0.y mul r14.xyz, r0.yyyy, r14.xyzx dp3_sat r0.y, r12.xyzx, r2.xyzx log r0.y, r0.y mul r0.y, r0.y, l(12.000000) exp r0.y, r0.y mad r1.y, r5.w, l(-2.900000), l(3.000000) mul r0.y, r0.y, r1.y dp3 r1.y, r6.xyzx, r14.xyzx mad r1.y, r1.y, r5.w, l(1.000000) add_sat r1.y, -r5.w, r1.y mul r1.y, r1.y, r4.w mul r1.z, r1.y, l(0.159154937) mad r1.y, r1.y, l(-0.159154937), l(1.000000) mad r0.y, r0.y, r1.y, r1.z mul r13.xyz, r0.yyyy, r11.xyzx break case l(3) dp3 r0.y, r6.xyzx, r12.xyzx mad_sat r14.x, r0.y, l(0.500000), l(0.500000) add r14.y, -r5.w, l(1.000000) sample_l_indexable(texture2d)(float,float,float,float) r14.xyz, r14.xyxx, t7.xyzw, s7, l(0.000000) mul r13.xyz, r11.xyzx, r14.xyzx break case l(6) dp3 r0.y, -r6.xyzx, r12.xyzx add r0.y, r0.y, l(0.500000) mul_sat r0.y, r0.y, l(0.444444448) dp3_sat r1.y, -r2.xyzx, -r12.xyzx mul r1.y, r1.y, r1.y mad r1.y, r1.y, l(-0.640000), l(1.000000) mul r1.y, r1.y, r1.y div r1.y, l(0.114591561), r1.y mul r0.y, r0.y, r1.y mul r13.xyz, r11.xyzx, r0.yyyy break case l(7) max r0.y, r0.z, l(0.00392156886) min r0.y, r0.y, l(1.000000) dp3 r0.z, -r2.xyzx, r12.xyzx dp3 r1.y, r6.xyzx, r12.xyzx dp3 r1.z, r6.xyzx, -r2.xyzx add r2.w, -|r1.z|, l(1.000000) sqrt r2.w, r2.w mad r3.w, |r1.z|, l(-0.0187292993), l(0.074261) mad r3.w, r3.w, |r1.z|, l(-0.212114394) mad r3.w, r3.w, |r1.z|, l(1.57072878) mul r4.w, r2.w, r3.w mad r4.w, r4.w, l(-2.000000), l(3.14159274) lt r6.w, r1.z, -r1.z and r4.w, r4.w, r6.w mad r2.w, r3.w, r2.w, r4.w add r2.w, -r2.w, l(1.57079637) add r3.w, -|r1.y|, l(1.000000) sqrt r3.w, r3.w mad r4.w, |r1.y|, l(-0.0187292993), l(0.074261) mad r4.w, r4.w, |r1.y|, l(-0.212114394) mad r4.w, r4.w, |r1.y|, l(1.57072878) mul r6.w, r3.w, r4.w mad r6.w, r6.w, l(-2.000000), l(3.14159274) lt r7.w, r1.y, -r1.y and r6.w, r6.w, r7.w mad r3.w, r4.w, r3.w, r6.w add r3.w, -r3.w, l(1.57079637) add r2.w, r2.w, -r3.w mul r2.w, |r2.w|, l(0.500000) sincos null, r2.w, r2.w mad r11.xyz, -r1.yyyy, r6.xyzx, r12.xyzx mad r14.xyz, -r1.zzzz, r6.xyzx, -r2.xyzx dp3 r3.w, r11.xyzx, r14.xyzx dp3 r4.w, r11.xyzx, r11.xyzx dp3 r6.w, r14.xyzx, r14.xyzx mad r4.w, r4.w, r6.w, l(0.000100) rsq r4.w, r4.w mul r7.w, r3.w, r4.w mad r11.xy, r7.wwww, l(0.500000, -0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000) mov_sat r11.x, r11.x sqrt r10.x, r11.x add r11.x, -|r7.w|, l(1.000000) sqrt r11.xy, r11.xyxx mad r11.z, |r7.w|, l(-0.0187292993), l(0.074261) mad r11.z, r11.z, |r7.w|, l(-0.212114394) mad r11.z, r11.z, |r7.w|, l(1.57072878) mul r11.w, r11.x, r11.z mad r11.w, r11.w, l(-2.000000), l(3.14159274) lt r7.w, r7.w, -r7.w and r7.w, r11.w, r7.w mad r7.w, r11.z, r11.x, r7.w div r11.xz, l(1.200000, 0.000000, 0.800000, 0.000000), r2.wwww mad r11.x, r2.w, l(0.350000), r11.x mul r0.y, r0.y, r0.y mul r15.xyz, r0.yyyy, l(0.500000, 1.25331414, 5.01325655, 0.000000) add r11.w, r0.y, r0.y mul r12.w, r10.x, l(-0.139543116) mad r13.w, -r1.z, r1.z, l(1.000000) sqrt r13.w, r13.w mul r14.w, r1.z, l(0.00978400372) mad r12.w, r12.w, r13.w, r14.w mul r0.y, r10.x, r0.y mul r16.xy, r0.yyyy, l(1.41421354, 3.54490781, 0.000000, 0.000000) add r0.y, r1.y, r1.z add r1.y, -r12.w, r0.y mul r1.y, r1.y, r1.y mul r1.y, r1.y, l(-0.500000) mul r1.z, r16.x, r16.x div r1.y, r1.y, r1.z mul r1.y, r1.y, l(1.442695) exp r1.y, r1.y div r1.y, r1.y, r16.y mul r1.y, r10.x, r1.y mad_sat r0.z, r0.z, l(0.500000), l(0.500000) sqrt r0.z, r0.z add r0.z, -r0.z, l(1.000000) mul r1.z, r0.z, r0.z mul r1.z, r1.z, r1.z mul r0.z, r0.z, r1.z mad r0.z, r0.z, l(0.953479409), l(0.0465205684) mul r0.z, r1.y, r0.z mul r0.z, r8.w, r0.z add r1.yz, r0.yyyy, l(0.000000, -0.035000, -0.140000, 0.000000) mul r1.yz, r1.yyzy, r1.yyzy mul r1.yz, r1.yyzy, l(0.000000, -0.500000, -0.500000, 0.000000) mul r0.y, r15.x, r15.x div r0.y, r1.y, r0.y mul r0.y, r0.y, l(1.442695) exp r0.y, r0.y div r0.y, r0.y, r15.y div r1.y, l(1.000000, 1.000000, 1.000000, 1.000000), r11.x mad r12.w, r1.y, r1.y, l(1.000000) add r1.y, r1.y, r1.y mad r1.y, -r1.y, r11.y, r12.w rsq r1.y, r1.y mul r1.y, r1.y, r10.x div r10.x, r1.y, r11.x add r11.x, -|r10.x|, l(1.000000) sqrt r11.x, r11.x mad r11.y, |r10.x|, l(-0.0187292993), l(0.074261) mad r11.y, r11.y, |r10.x|, l(-0.212114394) mad r11.y, r11.y, |r10.x|, l(1.57072878) mul r12.w, r11.x, r11.y mad r12.w, r12.w, l(-2.000000), l(3.14159274) lt r10.x, r10.x, -r10.x and r10.x, r12.w, r10.x mad r10.x, r11.y, r11.x, r10.x add r10.x, -r10.x, l(1.57079637) mad r1.y, -r1.y, r1.y, l(1.000000) max r1.y, r1.y, l(0.000000) sqrt r1.y, r1.y mad r1.y, -r2.w, r1.y, l(1.000000) mul r11.x, r1.y, r1.y mul r11.x, r11.x, r11.x mul r1.y, r1.y, r11.x mad r1.y, r1.y, l(0.953479409), l(0.0465205684) add r1.y, -r1.y, l(1.000000) mul r1.y, r1.y, r1.y sincos null, r10.x, r10.x mul r10.x, r10.x, l(0.500000) div r10.x, r10.x, r2.w log r15.xyw, r8.xyxz mul r16.xyz, r10.xxxx, r15.xywx exp r16.xyz, r16.xyzx add r7.w, r7.w, l(-3.14159274) mul r7.w, r7.w, l(4.80898333) exp r7.w, r7.w add r10.x, r7.w, l(1.000000) mul r10.x, r10.x, r10.x mul r10.x, r10.x, l(0.300000) div r7.w, r7.w, r10.x mul r0.y, r0.y, r7.w mul r0.y, r1.y, r0.y mul r16.xyz, r16.xyzx, r0.yyyy mad r16.xyz, r0.zzzz, l(0.500000, 0.500000, 0.500000, 0.000000), r16.xyzx mul r0.y, r11.w, r11.w div r0.y, r1.z, r0.y mul r0.y, r0.y, l(1.442695) exp r0.y, r0.y div r0.y, r0.y, r15.z mad r0.z, r2.w, l(-0.500000), l(1.000000) mul r1.y, r0.z, r0.z mul r1.y, r1.y, r1.y mul r0.z, r0.z, r1.y mad r0.z, r0.z, l(0.953479409), l(0.0465205684) add r1.y, -r0.z, l(1.000000) mul r1.y, r1.y, r1.y mul r0.z, r0.z, r1.y mul r11.xyz, r11.zzzz, r15.xywx exp r11.xyz, r11.xyzx mad r1.y, r4.w, r3.w, l(-1.000000) mul r1.y, r1.y, l(7.502014) exp r1.y, r1.y mul r0.y, r0.y, r1.y mul r0.y, r0.y, r0.z mul r0.y, r0.y, l(0.827605724) mad r11.xyz, r0.yyyy, r11.xyzx, r16.xyzx rsq r0.y, r6.w mul r14.xyz, r0.yyyy, r14.xyzx dp3 r0.y, r14.xyzx, r12.xyzx add r0.y, r0.y, l(0.700000) mul_sat r0.y, r0.y, l(0.346020758) mul r0.x, r0.y, r0.x mul r0.x, r0.x, l(0.318309873) dp3 r0.y, r8.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000) div r14.xyz, r8.xyzx, r0.yyyy add r0.y, -r9.y, l(1.000000) log r14.xyz, r14.xyzx mul r14.xyz, r0.yyyy, r14.xyzx exp r14.xyz, r14.xyzx sqrt r8.xyz, r8.xyzx mul r0.xyz, r0.xxxx, r8.xyzx mad r13.xyz, r0.xyzx, r14.xyzx, r11.xyzx break case l(9) mad r0.xyz, r10.yzwy, r1.xxxx, -r2.xyzx dp3 r1.x, r0.xyzx, r0.xyzx rsq r1.x, r1.x mul r0.xyz, r0.xyzx, r1.xxxx dp3_sat r0.x, -r2.xyzx, r0.xyzx add r0.x, -r0.x, l(1.000000) mul r0.y, r0.x, r0.x mul r0.y, r0.y, r0.y mul r0.z, r0.x, r0.y mad r0.x, -r0.y, r0.x, l(1.000000) mad r0.x, r0.x, r8.w, r0.z mad r0.yz, r5.xxyx, l(0.000000, 2.000000, 2.000000, 0.000000), l(0.000000, -1.000000, -1.000000, 0.000000) dp2 r1.x, l(1.000000, 1.000000, 0.000000, 0.000000), |r0.yzyy| add r1.z, -r1.x, l(1.000000) lt r2.x, r1.z, l(0.000000) add r2.yz, -|r0.zzyz|, l(0.000000, 1.000000, 1.000000, 0.000000) ge r5.xy, r0.yzyy, l(0.000000, 0.000000, 0.000000, 0.000000) movc r5.xy, r5.xyxx, l(1.000000,1.000000,0,0), l(-1.000000,-1.000000,0,0) mul r2.yz, r2.yyzy, r5.xxyx movc r1.xy, r2.xxxx, r2.yzyy, r0.yzyy dp3 r0.y, r1.xyzx, r1.xyzx rsq r0.y, r0.y mul r1.xyz, r0.yyyy, r1.xyzx mul r0.y, r5.w, r5.z mad r2.xyz, -r3.xyzx, r1.wwww, -r1.xyzx mad r2.xyz, r0.yyyy, r2.xyzx, r1.xyzx dp3 r0.y, r2.xyzx, r2.xyzx rsq r0.y, r0.y mul r2.xyz, r0.yyyy, r2.xyzx dp3_sat r0.y, r1.xyzx, r12.xyzx mad r1.xy, r0.yyyy, l(-11.000000, -11.000000, 0.000000, 0.000000), l(12.000000, 13.000000, 0.000000, 0.000000) mul r0.z, r1.y, l(0.200000) dp3_sat r1.y, r2.xyzx, r12.xyzx log r1.y, r1.y mul r1.x, r1.y, r1.x exp r1.x, r1.x mad r0.z, r0.z, r1.x, l(0.600000) dp3 r1.x, r6.xyzx, r12.xyzx add r1.x, r1.x, l(0.150000) mul_sat r1.x, r1.x, l(0.756143689) add r0.x, -r0.x, l(1.000000) mad r0.y, r0.y, r0.z, -r1.x mad r0.y, r5.z, r0.y, r1.x mul r0.x, r0.y, r0.x mul r0.xyz, r4.xyzx, r0.xxxx mul r13.xyz, r0.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000) break default mov r13.xyz, l(0,0,0,0) break endswitch mul r0.xyz, r0.wwww, cb2[1].xyzx mul r0.xyz, r0.xyzx, r13.xyzx mad r0.xyz, r9.xzwx, r7.xyzx, r0.xyzx else mov r0.xyz, l(0,0,0,0) endif mov o0.xyz, r0.xyzx mov o0.w, l(0) ret // Approximately 772 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] I will try and insert the code in here and see what happens..
OK I ran through the shader again and I might have had the wrong one as I have a different one now..

This is the shader I found aff30765ce955f97-ps_replace:


//
// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.20499
//
// using 3Dmigoto v1.2.61 on Mon Jul 03 17:47:14 2017
//
//
// Buffer Definitions:
//
// cbuffer cb2
// {
//
// float4 cb2[7]; // Offset: 0 Size: 112
//
// }
//
// cbuffer cb1
// {
//
// float4 cb1[33]; // Offset: 0 Size: 528
//
// }
//
// cbuffer cb0
// {
//
// float4 cb0[52]; // Offset: 0 Size: 832
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// s0_s_s sampler NA NA 0 1
// s1_s_s sampler NA NA 1 1
// s2_s_s sampler NA NA 2 1
// s3_s_s sampler NA NA 3 1
// s4_s_s sampler NA NA 4 1
// s5_s_s sampler NA NA 5 1
// s6_s_s sampler NA NA 6 1
// s7_s_s sampler NA NA 7 1
// t0 texture float4 2d 0 1
// t1 texture float4 2d 1 1
// t2 texture float4 2d 2 1
// t3 texture float4 2d 3 1
// t4 texture float4 2d 4 1
// t5 texture float4 2d 5 1
// t6 texture float4 2d 6 1
// t7 texture float4 2d 7 1
// cb0 cbuffer NA NA 0 1
// cb1 cbuffer NA NA 1 1
// cb2 cbuffer NA NA 2 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD 0 xyzw 0 NONE float xy
// TEXCOORD 1 xyz 1 NONE float xyz
// SV_POSITION 0 xyzw 2 POS float
//
//
// 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 cb2[7], immediateIndexed
dcl_constantbuffer cb1[33], immediateIndexed
dcl_constantbuffer cb0[52], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, mode_default
dcl_sampler s3, mode_default
dcl_sampler s4, mode_default
dcl_sampler s5, mode_default
dcl_sampler s6, mode_default
dcl_sampler s7, mode_default
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_resource_texture2d (float,float,float,float) t4
dcl_resource_texture2d (float,float,float,float) t5
dcl_resource_texture2d (float,float,float,float) t6
dcl_resource_texture2d (float,float,float,float) t7
dcl_input_ps linear v0.xy
dcl_input_ps linear v1.xyz
dcl_output o0.xyzw
dcl_temps 18
sample_l_indexable(texture2d)(float,float,float,float) r0.xyzw, v0.xyxx, t1.xyzw, s1, l(0.000000)
mul r0.w, r0.w, l(255.000000)
round_ne r0.w, r0.w
ftou r0.w, r0.w
utof r0.w, r0.w
ftoi r0.w, r0.w
and r1.x, r0.w, l(15)
itof r1.y, r1.x
ne r1.z, r1.y, l(0.000000)
if_nz r1.z
dp3 r1.z, v1.xyzx, v1.xyzx
rsq r1.z, r1.z
mul r2.xyz, r1.zzzz, v1.xyzx
sample_l_indexable(texture2d)(float,float,float,float) r3.xyz, v0.xyxx, t0.xyzw, s0, l(0.000000)
sample_l_indexable(texture2d)(float,float,float,float) r4.xyzw, v0.xyxx, t2.xyzw, s2, l(0.000000)
sample_l_indexable(texture2d)(float,float,float,float) r5.xyzw, v0.xyxx, t3.xyzw, s3, l(0.000000)
mul r1.zw, v0.yyyx, cb1[3].yyyx
ftou r1.zw, r1.zzzw
utof r1.zw, r1.zzzw
ftou r2.w, cb1[32].x
utof r2.w, r2.w
ftoi r1.zw, r1.zzzw
iadd r1.z, r1.w, r1.z
ftoi r1.w, r2.w
iadd r1.z, r1.z, r1.w
and r1.z, r1.z, l(1)
itof r1.z, r1.z
mad r3.xyz, r3.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
dp3 r1.w, r3.xyzx, r3.xyzx
rsq r1.w, r1.w
mul r6.xyz, r3.xyzx, r1.wwww
and r2.w, r0.w, l(16)
itof r2.w, r2.w
ne r2.w, r2.w, l(0.000000)
movc r5.xyzw, r2.wwww, l(0,0,0,0), r5.xyzw
ieq r7.xy, r1.xxxx, l(5, 7, 0, 0)
ne r1.x, r1.z, l(0.000000)
movc r8.xy, r1.xxxx, l(1.000000,0,0,0), l(0,1.000000,0,0)
mul r8.z, r0.y, r8.y
mov r9.xyz, r4.xyzx
mov r9.w, r0.y
movc r8.xyzw, r7.xxxx, r8.xxxz, r9.xyzw
mad r4.xyz, -r8.xyzx, r0.xxxx, r8.xyzx
mul r0.y, r8.w, l(0.080000)
mad r7.xzw, r8.wwww, l(-0.080000, 0.000000, -0.080000, -0.080000), r8.xxyz
mad r7.xzw, r0.xxxx, r7.xxzw, r0.yyyy
mad r4.xyz, r4.xyzx, cb1[5].wwww, cb1[5].xyzx
mad r7.xzw, r7.xxzw, cb1[6].wwww, cb1[6].xxyz
dp3_sat r0.y, r6.xyzx, cb2[2].xyzx
dp3_sat r1.x, -r2.xyzx, -cb2[2].xyzx
log r1.x, r1.x
mul r1.x, r1.x, l(10.000000)
exp r1.x, r1.x
add r1.x, -r1.x, l(0.800000)
max r1.x, r1.x, l(0.000000)
movc r1.x, r7.y, r1.x, l(1.000000)
ne r1.z, l(0.000000), cb2[6].x
if_nz r1.z
sample_l_indexable(texture2d)(float,float,float,float) r9.xyzw, v0.xyxx, t5.xyzw, s5, l(0.000000)
mul r10.xyzw, r9.xyzw, r9.xyzw
sample_l_indexable(texture2d)(float,float,float,float) r1.z, v0.xyxx, t4.yzxw, s4, l(0.000000)
mad r1.z, r1.z, cb0[51].z, -cb0[51].w
div r1.z, l(1.000000, 1.000000, 1.000000, 1.000000), r1.z
and r9.zw, r0.wwww, l(0, 0, 64, 32)
itof r9.zw, r9.zzzw
ne r9.zw, r9.zzzw, l(0.000000, 0.000000, 0.000000, 0.000000)
movc r0.w, r9.z, l(0), l(1.000000)
movc r0.w, r9.w, r0.w, l(1.000000)
dp4 r2.w, cb2[5].xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
dp4 r0.w, r0.wwww, cb2[5].xyzw
add r0.w, r0.w, l(-1.000000)
mad r0.w, r2.w, r0.w, l(1.000000)
mad_sat r1.z, r1.z, cb2[4].z, cb2[4].w
mul r1.z, r1.z, r1.z
mad r9.xy, -r9.xyxx, r9.xyxx, r0.wwww
mad r9.xy, r1.zzzz, r9.xyxx, r10.xyxx
min r0.w, r10.w, r9.y
mul r9.x, r10.z, r9.x
mul r9.y, r10.z, r0.w
else
sample_l_indexable(texture2d)(float,float,float,float) r9.x, v0.xyxx, t6.xyzw, s6, l(0.000000)
mov r9.y, l(1.000000)
endif
mul r0.w, r1.x, r9.y
mov r10.x, r5.y
mov r10.y, r0.z
mov r10.z, l(1.000000)
max r10.xyz, r10.xyzx, cb2[4].xxxx
mul r11.xyz, r10.xyzx, r10.xyzx
dp3 r1.x, r2.xyzx, r6.xyzx
add r1.x, r1.x, r1.x
mad r12.xyz, r6.xyzx, -r1.xxxx, r2.xyzx
dp3 r1.x, cb2[2].xyzx, cb2[2].xyzx
rsq r1.x, r1.x
mad r1.z, -r10.y, r10.y, l(1.000000)
sqrt r2.w, r1.z
mad r2.w, r10.y, r10.y, r2.w
mul r2.w, r1.z, r2.w
mad r10.yzw, -r3.xxyz, r1.wwww, r12.xxyz
mad r10.yzw, r2.wwww, r10.yyzw, r6.xxyz
dp3 r2.w, r10.yzwy, r10.yzwy
rsq r2.w, r2.w
mul r10.yzw, r2.wwww, r10.yyzw
lt r9.zw, l(0.000000, 0.000000, 0.000000, 0.000000), cb2[3].wwwz
mul r12.xy, r1.xxxx, cb2[3].wzww
min r12.xy, r12.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
mad r12.xzw, r12.xxxx, l(0.500000, 0.000000, 0.500000, 0.500000), r11.xxyz
min r12.xzw, r12.xxzw, l(1.000000, 0.000000, 1.000000, 1.000000)
div r12.xzw, r11.xxyz, r12.xxzw
mul r13.xyz, cb2[2].xyzx, cb2[3].wwww
mad r14.xyz, r13.xyzx, l(-0.500000, -0.500000, -0.500000, 0.000000), cb2[2].xyzx
dp3 r1.x, r10.yzwy, r13.xyzx
mad r15.xyz, r1.xxxx, r10.yzwy, -r13.xyzx
dp3 r2.w, r14.xyzx, r15.xyzx
mul r1.x, r1.x, r1.x
mad r1.x, cb2[3].w, cb2[3].w, -r1.x
div_sat r1.x, r2.w, r1.x
mad r13.xyz, r1.xxxx, r13.xyzx, r14.xyzx
movc r12.xzw, r9.zzzz, r12.xxzw, l(1.000000,0,1.000000,1.000000)
movc r13.xyz, r9.zzzz, r13.xyzx, cb2[2].xyzx
mad r14.xyz, r12.yyyy, l(0.500000, 0.500000, 0.500000, 0.000000), r11.xyzx
min r14.xyz, r14.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
div r11.xzw, r11.xxyz, r14.xxyz
mul r11.xzw, r11.xxzw, r11.xxzw
mul r11.xzw, r11.xxzw, r12.xxzw
dp3 r1.x, r13.xyzx, r10.yzwy
mad r10.yzw, r1.xxxx, r10.yyzw, -r13.xxyz
dp3 r1.x, r10.yzwy, r10.yzwy
rsq r1.x, r1.x
mul r1.x, r1.x, cb2[3].z
min r1.x, r1.x, l(1.000000)
mad r10.yzw, r10.yyzw, r1.xxxx, r13.xxyz
movc r10.yzw, r9.wwww, r10.yyzw, r13.xxyz
movc r11.xzw, r9.wwww, r11.xxzw, r12.xxzw
dp3 r1.x, r10.yzwy, r10.yzwy
rsq r1.x, r1.x
mul r12.xyz, r1.xxxx, r10.yzwy
ftou r1.y, r1.y
switch r1.y
case l(1)
case l(2)
case l(3)
case l(5)
case l(6)
mul r14.xyz, r4.xyzx, r11.wwww
mul r13.xyz, r14.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
break
case l(4)
mad r14.xyz, r10.yzwy, r1.xxxx, -r2.xyzx
dp3 r2.w, r14.xyzx, r14.xyzx
rsq r2.w, r2.w
mul r14.xyz, r2.wwww, r14.xyzx
dp3_sat r2.w, r6.xyzx, r12.xyzx
dp3 r3.w, r6.xyzx, -r2.xyzx
add r3.w, |r3.w|, l(0.000010)
min r3.w, r3.w, l(1.000000)
dp3_sat r6.w, r6.xyzx, r14.xyzx
dp3_sat r7.y, -r2.xyzx, r14.xyzx
mul r9.z, r10.x, r10.x
mul r9.z, r9.z, r9.z
mad r9.w, r6.w, r9.z, -r6.w
mad r9.w, r9.w, r6.w, l(1.000000)
mul r9.w, r9.w, r9.w
mul r9.w, r9.w, l(3.14159274)
div r9.z, r9.z, r9.w
mul r14.y, r11.x, r9.z
mul r9.z, r7.y, r7.y
mad r9.z, r9.z, l(4.000000), l(0.000010)
rcp r14.x, r9.z
add r7.y, -r7.y, l(1.000000)
mul r14.z, r7.y, r7.y
mul r9.zw, r14.xxxz, r14.yyyz
mul r12.w, r7.y, r9.w
mad r7.y, -r9.w, r7.y, l(1.000000)
mad r9.w, r7.y, l(0.040000), r12.w
mul r13.w, r5.x, r9.w
mad r9.w, -r9.w, r5.x, l(1.000000)
mul r14.x, r11.y, r11.y
mad r14.y, r6.w, r14.x, -r6.w
mad r6.w, r14.y, r6.w, l(1.000000)
mul r6.w, r6.w, r6.w
mul r6.w, r6.w, l(3.14159274)
div r6.w, r14.x, r6.w
mul r6.w, r11.z, r6.w
mul r14.x, r11.y, l(0.500000)
mad r14.y, r11.y, l(-0.500000), l(1.000000)
mad r3.w, r3.w, r14.y, r14.x
mad r2.w, r2.w, r14.y, r14.x
mul r2.w, r2.w, r3.w
div r2.w, l(0.250000), r2.w
mul_sat r3.w, r7.z, l(50.000000)
mul r14.xyz, r7.xzwx, r7.yyyy
mad r14.xyz, r3.wwww, r12.wwww, r14.xyzx
mul r15.xyz, r4.xyzx, r11.wwww
mul r2.w, r2.w, r6.w
mul r14.xyz, r14.xyzx, r2.wwww
mad r14.xyz, r15.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000), r14.xyzx
mul r14.xyz, r9.wwww, r14.xyzx
mad r13.xyz, r9.zzzz, r13.wwww, r14.xyzx
break
case l(8)
mov_sat r14.xyzw, r5.xyzw
mad r15.xyz, r10.yzwy, r1.xxxx, -r2.xyzx
dp3 r2.w, r15.xyzx, r15.xyzx
rsq r2.w, r2.w
mul r15.xyz, r2.wwww, r15.xyzx
dp3_sat r2.w, r6.xyzx, r12.xyzx
dp3 r3.w, r6.xyzx, -r2.xyzx
add r3.w, |r3.w|, l(0.000010)
min r3.w, r3.w, l(1.000000)
dp3_sat r6.w, r6.xyzx, r15.xyzx
dp3_sat r7.y, -r2.xyzx, r15.xyzx
mul r15.xyz, r4.xyzx, r11.wwww
add r7.y, -r7.y, l(1.000000)
mul r9.z, r7.y, r7.y
mul r9.z, r9.z, r9.z
mul r9.w, r7.y, r9.z
mul r12.w, r14.y, l(50.000000)
min r12.w, r12.w, l(1.000000)
mad r7.y, -r9.z, r7.y, l(1.000000)
mul r14.xyz, r14.xyzx, r7.yyyy
mad r14.xyz, r12.wwww, r9.wwww, r14.xyzx
mul r9.z, r11.y, r11.y
mad r12.w, -r9.z, r6.w, r6.w
mad r12.w, r12.w, r6.w, r9.z
mul r13.w, r9.z, l(4.000000)
mad r15.w, r9.z, l(4.000000), l(1.000000)
mul r15.w, r15.w, l(3.14159274)
rcp r15.w, r15.w
mul r13.w, r9.z, r13.w
mul r12.w, r12.w, r12.w
div r12.w, r13.w, r12.w
add r12.w, r12.w, l(1.000000)
mul r12.w, r12.w, r15.w
add r13.w, r2.w, r3.w
mad r13.w, -r2.w, r3.w, r13.w
mul r13.w, r13.w, l(4.000000)
rcp r13.w, r13.w
mul r12.w, r12.w, r13.w
mul_sat r13.w, r7.z, l(50.000000)
mul r16.xyz, r7.xzwx, r7.yyyy
mad r16.xyz, r13.wwww, r9.wwww, r16.xyzx
mad r7.y, r9.z, r6.w, -r6.w
mad r6.w, r7.y, r6.w, l(1.000000)
mul r6.w, r6.w, r6.w
mul r6.w, r6.w, l(3.14159274)
div r6.w, r9.z, r6.w
mul r6.w, r11.z, r6.w
mad r7.y, r3.w, r1.z, r11.y
mad r9.z, r2.w, r1.z, r11.y
mul r3.w, r3.w, r9.z
mad r2.w, r2.w, r7.y, r3.w
rcp r2.w, r2.w
mul r2.w, r2.w, r6.w
mul r2.w, r2.w, l(0.500000)
mul r16.xyz, r16.xyzx, r2.wwww
mad r14.xyz, r12.wwww, r14.xyzx, -r16.xyzx
mad r14.xyz, r14.wwww, r14.xyzx, r16.xyzx
mad r13.xyz, r15.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000), r14.xyzx
break
case l(9)
mad r14.xyz, r10.yzwy, r1.xxxx, -r2.xyzx
dp3 r2.w, r14.xyzx, r14.xyzx
rsq r2.w, r2.w
mul r14.xyz, r2.wwww, r14.xyzx
dp3_sat r2.w, r6.xyzx, r12.xyzx
dp3 r3.w, r6.xyzx, -r2.xyzx
add r3.w, |r3.w|, l(0.000010)
min r3.w, r3.w, l(1.000000)
dp3_sat r6.w, r6.xyzx, r14.xyzx
dp3_sat r7.y, -r2.xyzx, r14.xyzx
mul r9.z, r11.y, r11.y
mad r9.w, r6.w, r9.z, -r6.w
mad r6.w, r9.w, r6.w, l(1.000000)
mul r6.w, r6.w, r6.w
mul r6.w, r6.w, l(3.14159274)
div r6.w, r9.z, r6.w
mul r6.w, r11.z, r6.w
mad r9.z, r3.w, r1.z, r11.y
mad r9.w, r2.w, r1.z, r11.y
mul r3.w, r3.w, r9.w
mad r2.w, r2.w, r9.z, r3.w
rcp r2.w, r2.w
mul r2.w, r2.w, r6.w
add r3.w, -r7.y, l(1.000000)
mul r6.w, r3.w, r3.w
mul r6.w, r6.w, r6.w
mul r7.y, r3.w, r6.w
mul_sat r9.z, r7.z, l(50.000000)
mad r3.w, -r6.w, r3.w, l(1.000000)
mul r14.xyz, r7.xzwx, r3.wwww
mad r14.xyz, r9.zzzz, r7.yyyy, r14.xyzx
mul r2.w, r2.w, l(0.500000)
mul r13.xyz, r14.xyzx, r2.wwww
break
default
mov r13.xyz, l(0,0,0,0)
break
endswitch
switch r1.y
case l(1)
case l(2)
case l(3)
case l(5)
case l(6)
mad r15.xyz, r10.yzwy, r1.xxxx, -r2.xyzx
dp3 r2.w, r15.xyzx, r15.xyzx
rsq r2.w, r2.w
mul r15.xyz, r2.wwww, r15.xyzx
dp3_sat r2.w, r6.xyzx, r12.xyzx
dp3 r3.w, r6.xyzx, -r2.xyzx
add r3.w, |r3.w|, l(0.000010)
min r3.w, r3.w, l(1.000000)
dp3_sat r6.w, r6.xyzx, r15.xyzx
dp3_sat r7.y, -r2.xyzx, r15.xyzx
mul r9.z, r11.y, r11.y
mad r9.w, r6.w, r9.z, -r6.w
mad r6.w, r9.w, r6.w, l(1.000000)
mul r6.w, r6.w, r6.w
mul r6.w, r6.w, l(3.14159274)
div r6.w, r9.z, r6.w
mul r6.w, r11.z, r6.w
mad r9.z, r3.w, r1.z, r11.y
mad r9.w, r2.w, r1.z, r11.y
mul r3.w, r3.w, r9.w
mad r2.w, r2.w, r9.z, r3.w
rcp r2.w, r2.w
mul r2.w, r2.w, r6.w
add r3.w, -r7.y, l(1.000000)
mul r6.w, r3.w, r3.w
mul r6.w, r6.w, r6.w
mul r7.y, r3.w, r6.w
mul_sat r9.z, r7.z, l(50.000000)
mad r3.w, -r6.w, r3.w, l(1.000000)
mul r15.xyz, r7.xzwx, r3.wwww
mad r15.xyz, r9.zzzz, r7.yyyy, r15.xyzx
mul r2.w, r2.w, l(0.500000)
mul r14.xyz, r15.xyzx, r2.wwww
break
case l(4)
mad r15.xyz, r10.yzwy, r1.xxxx, -r2.xyzx
dp3 r2.w, r15.xyzx, r15.xyzx
rsq r2.w, r2.w
mul r15.xyz, r2.wwww, r15.xyzx
dp3_sat r2.w, r6.xyzx, r12.xyzx
dp3 r3.w, r6.xyzx, -r2.xyzx
add r3.w, |r3.w|, l(0.000010)
min r3.w, r3.w, l(1.000000)
dp3_sat r6.w, r6.xyzx, r15.xyzx
dp3_sat r7.y, -r2.xyzx, r15.xyzx
mul r9.z, r10.x, r10.x
mul r9.z, r9.z, r9.z
mad r9.w, r6.w, r9.z, -r6.w
mad r9.w, r9.w, r6.w, l(1.000000)
mul r9.w, r9.w, r9.w
mul r9.w, r9.w, l(3.14159274)
div r9.z, r9.z, r9.w
mul r9.z, r11.x, r9.z
mul r9.w, r7.y, r7.y
mad r9.w, r9.w, l(4.000000), l(0.000010)
rcp r9.w, r9.w
add r7.y, -r7.y, l(1.000000)
mul r10.x, r7.y, r7.y
mul r10.x, r10.x, r10.x
mul r11.x, r7.y, r10.x
mad r7.y, -r10.x, r7.y, l(1.000000)
mad r10.x, r7.y, l(0.040000), r11.x
mul r12.w, r5.x, r10.x
mul r9.z, r9.z, r9.w
mad r9.w, -r10.x, r5.x, l(1.000000)
mul r10.x, r11.y, r11.y
mad r13.w, r6.w, r10.x, -r6.w
mad r6.w, r13.w, r6.w, l(1.000000)
mul r6.w, r6.w, r6.w
mul r6.w, r6.w, l(3.14159274)
div r6.w, r10.x, r6.w
mul r6.w, r11.z, r6.w
mul r10.x, r11.y, l(0.500000)
mad r13.w, r11.y, l(-0.500000), l(1.000000)
mad r3.w, r3.w, r13.w, r10.x
mad r2.w, r2.w, r13.w, r10.x
mul r2.w, r2.w, r3.w
div r2.w, l(0.250000), r2.w
mul_sat r3.w, r7.z, l(50.000000)
mul r15.xyz, r7.xzwx, r7.yyyy
mad r15.xyz, r3.wwww, r11.xxxx, r15.xyzx
mul r16.xyz, r4.xyzx, r11.wwww
mul r2.w, r2.w, r6.w
mul r15.xyz, r15.xyzx, r2.wwww
mad r15.xyz, r16.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000), r15.xyzx
mul r15.xyz, r9.wwww, r15.xyzx
mad r14.xyz, r9.zzzz, r12.wwww, r15.xyzx
break
case l(8)
mov_sat r15.xyzw, r5.xyzw
mad r16.xyz, r10.yzwy, r1.xxxx, -r2.xyzx
dp3 r2.w, r16.xyzx, r16.xyzx
rsq r2.w, r2.w
mul r16.xyz, r2.wwww, r16.xyzx
dp3_sat r2.w, r6.xyzx, r12.xyzx
dp3 r3.w, r6.xyzx, -r2.xyzx
add r3.w, |r3.w|, l(0.000010)
min r3.w, r3.w, l(1.000000)
dp3_sat r6.w, r6.xyzx, r16.xyzx
dp3_sat r7.y, -r2.xyzx, r16.xyzx
mul r16.xyz, r4.xyzx, r11.wwww
add r7.y, -r7.y, l(1.000000)
mul r9.z, r7.y, r7.y
mul r9.z, r9.z, r9.z
mul r9.w, r7.y, r9.z
mul r10.x, r15.y, l(50.000000)
min r10.x, r10.x, l(1.000000)
mad r7.y, -r9.z, r7.y, l(1.000000)
mul r15.xyz, r15.xyzx, r7.yyyy
mad r15.xyz, r10.xxxx, r9.wwww, r15.xyzx
mul r9.z, r11.y, r11.y
mad r10.x, -r9.z, r6.w, r6.w
mad r10.x, r10.x, r6.w, r9.z
mul r11.x, r9.z, l(4.000000)
mad r11.w, r9.z, l(4.000000), l(1.000000)
mul r11.w, r11.w, l(3.14159274)
rcp r11.w, r11.w
mul r11.x, r9.z, r11.x
mul r10.x, r10.x, r10.x
div r10.x, r11.x, r10.x
add r10.x, r10.x, l(1.000000)
mul r10.x, r10.x, r11.w
add r11.x, r2.w, r3.w
mad r11.x, -r2.w, r3.w, r11.x
mul r11.x, r11.x, l(4.000000)
rcp r11.x, r11.x
mul r10.x, r10.x, r11.x
mul_sat r11.x, r7.z, l(50.000000)
mul r17.xyz, r7.xzwx, r7.yyyy
mad r17.xyz, r11.xxxx, r9.wwww, r17.xyzx
mad r7.y, r9.z, r6.w, -r6.w
mad r6.w, r7.y, r6.w, l(1.000000)
mul r6.w, r6.w, r6.w
mul r6.w, r6.w, l(3.14159274)
div r6.w, r9.z, r6.w
mul r6.w, r11.z, r6.w
mad r7.y, r3.w, r1.z, r11.y
mad r9.z, r2.w, r1.z, r11.y
mul r3.w, r3.w, r9.z
mad r2.w, r2.w, r7.y, r3.w
rcp r2.w, r2.w
mul r2.w, r2.w, r6.w
mul r2.w, r2.w, l(0.500000)
mul r17.xyz, r17.xyzx, r2.wwww
mad r15.xyz, r10.xxxx, r15.xyzx, -r17.xyzx
mad r15.xyz, r15.wwww, r15.xyzx, r17.xyzx
mad r14.xyz, r16.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000), r15.xyzx
break
case l(9)
mad r15.xyz, r10.yzwy, r1.xxxx, -r2.xyzx
dp3 r2.w, r15.xyzx, r15.xyzx
rsq r2.w, r2.w
mul r15.xyz, r2.wwww, r15.xyzx
dp3_sat r2.w, r6.xyzx, r12.xyzx
dp3 r3.w, r6.xyzx, -r2.xyzx
add r3.w, |r3.w|, l(0.000010)
min r3.w, r3.w, l(1.000000)
dp3_sat r6.w, r6.xyzx, r15.xyzx
dp3_sat r7.y, -r2.xyzx, r15.xyzx
mul r9.z, r11.y, r11.y
mad r9.w, r6.w, r9.z, -r6.w
mad r6.w, r9.w, r6.w, l(1.000000)
mul r6.w, r6.w, r6.w
mul r6.w, r6.w, l(3.14159274)
div r6.w, r9.z, r6.w
mul r6.w, r11.z, r6.w
mad r9.z, r3.w, r1.z, r11.y
mad r1.z, r2.w, r1.z, r11.y
mul r1.z, r1.z, r3.w
mad r1.z, r2.w, r9.z, r1.z
rcp r1.z, r1.z
mul r1.z, r1.z, r6.w
add r2.w, -r7.y, l(1.000000)
mul r3.w, r2.w, r2.w
mul r3.w, r3.w, r3.w
mul r6.w, r2.w, r3.w
mul_sat r7.y, r7.z, l(50.000000)
mad r2.w, -r3.w, r2.w, l(1.000000)
mul r7.xzw, r7.xxzw, r2.wwww
mad r7.xyz, r7.yyyy, r6.wwww, r7.xzwx
mul r1.z, r1.z, l(0.500000)
mul r14.xyz, r7.xyzx, r1.zzzz
break
default
mov r14.xyz, l(0,0,0,0)
break
endswitch
mul r0.y, r0.y, r9.x
mul r7.xyz, r0.yyyy, cb2[1].xyzx
add r9.xzw, r13.xxyz, r14.xxyz
mul r11.xyz, r5.xyzx, r5.xyzx
switch r1.y
case l(2)
mad r14.xyz, r10.yzwy, r1.xxxx, -r2.xyzx
dp3 r0.y, r14.xyzx, r14.xyzx
rsq r0.y, r0.y
mul r14.xyz, r0.yyyy, r14.xyzx
dp3_sat r0.y, r12.xyzx, r2.xyzx
log r0.y, r0.y
mul r0.y, r0.y, l(12.000000)
exp r0.y, r0.y
mad r1.y, r5.w, l(-2.900000), l(3.000000)
mul r0.y, r0.y, r1.y
dp3 r1.y, r6.xyzx, r14.xyzx
mad r1.y, r1.y, r5.w, l(1.000000)
add_sat r1.y, -r5.w, r1.y
mul r1.y, r1.y, r4.w
mul r1.z, r1.y, l(0.159154937)
mad r1.y, r1.y, l(-0.159154937), l(1.000000)
mad r0.y, r0.y, r1.y, r1.z
mul r13.xyz, r0.yyyy, r11.xyzx
break
case l(3)
dp3 r0.y, r6.xyzx, r12.xyzx
mad_sat r14.x, r0.y, l(0.500000), l(0.500000)
add r14.y, -r5.w, l(1.000000)
sample_l_indexable(texture2d)(float,float,float,float) r14.xyz, r14.xyxx, t7.xyzw, s7, l(0.000000)
mul r13.xyz, r11.xyzx, r14.xyzx
break
case l(6)
dp3 r0.y, -r6.xyzx, r12.xyzx
add r0.y, r0.y, l(0.500000)
mul_sat r0.y, r0.y, l(0.444444448)
dp3_sat r1.y, -r2.xyzx, -r12.xyzx
mul r1.y, r1.y, r1.y
mad r1.y, r1.y, l(-0.640000), l(1.000000)
mul r1.y, r1.y, r1.y
div r1.y, l(0.114591561), r1.y
mul r0.y, r0.y, r1.y
mul r13.xyz, r11.xyzx, r0.yyyy
break
case l(7)
max r0.y, r0.z, l(0.00392156886)
min r0.y, r0.y, l(1.000000)
dp3 r0.z, -r2.xyzx, r12.xyzx
dp3 r1.y, r6.xyzx, r12.xyzx
dp3 r1.z, r6.xyzx, -r2.xyzx
add r2.w, -|r1.z|, l(1.000000)
sqrt r2.w, r2.w
mad r3.w, |r1.z|, l(-0.0187292993), l(0.074261)
mad r3.w, r3.w, |r1.z|, l(-0.212114394)
mad r3.w, r3.w, |r1.z|, l(1.57072878)
mul r4.w, r2.w, r3.w
mad r4.w, r4.w, l(-2.000000), l(3.14159274)
lt r6.w, r1.z, -r1.z
and r4.w, r4.w, r6.w
mad r2.w, r3.w, r2.w, r4.w
add r2.w, -r2.w, l(1.57079637)
add r3.w, -|r1.y|, l(1.000000)
sqrt r3.w, r3.w
mad r4.w, |r1.y|, l(-0.0187292993), l(0.074261)
mad r4.w, r4.w, |r1.y|, l(-0.212114394)
mad r4.w, r4.w, |r1.y|, l(1.57072878)
mul r6.w, r3.w, r4.w
mad r6.w, r6.w, l(-2.000000), l(3.14159274)
lt r7.w, r1.y, -r1.y
and r6.w, r6.w, r7.w
mad r3.w, r4.w, r3.w, r6.w
add r3.w, -r3.w, l(1.57079637)
add r2.w, r2.w, -r3.w
mul r2.w, |r2.w|, l(0.500000)
sincos null, r2.w, r2.w
mad r11.xyz, -r1.yyyy, r6.xyzx, r12.xyzx
mad r14.xyz, -r1.zzzz, r6.xyzx, -r2.xyzx
dp3 r3.w, r11.xyzx, r14.xyzx
dp3 r4.w, r11.xyzx, r11.xyzx
dp3 r6.w, r14.xyzx, r14.xyzx
mad r4.w, r4.w, r6.w, l(0.000100)
rsq r4.w, r4.w
mul r7.w, r3.w, r4.w
mad r11.xy, r7.wwww, l(0.500000, -0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
mov_sat r11.x, r11.x
sqrt r10.x, r11.x
add r11.x, -|r7.w|, l(1.000000)
sqrt r11.xy, r11.xyxx
mad r11.z, |r7.w|, l(-0.0187292993), l(0.074261)
mad r11.z, r11.z, |r7.w|, l(-0.212114394)
mad r11.z, r11.z, |r7.w|, l(1.57072878)
mul r11.w, r11.x, r11.z
mad r11.w, r11.w, l(-2.000000), l(3.14159274)
lt r7.w, r7.w, -r7.w
and r7.w, r11.w, r7.w
mad r7.w, r11.z, r11.x, r7.w
div r11.xz, l(1.200000, 0.000000, 0.800000, 0.000000), r2.wwww
mad r11.x, r2.w, l(0.350000), r11.x
mul r0.y, r0.y, r0.y
mul r15.xyz, r0.yyyy, l(0.500000, 1.25331414, 5.01325655, 0.000000)
add r11.w, r0.y, r0.y
mul r12.w, r10.x, l(-0.139543116)
mad r13.w, -r1.z, r1.z, l(1.000000)
sqrt r13.w, r13.w
mul r14.w, r1.z, l(0.00978400372)
mad r12.w, r12.w, r13.w, r14.w
mul r0.y, r10.x, r0.y
mul r16.xy, r0.yyyy, l(1.41421354, 3.54490781, 0.000000, 0.000000)
add r0.y, r1.y, r1.z
add r1.y, -r12.w, r0.y
mul r1.y, r1.y, r1.y
mul r1.y, r1.y, l(-0.500000)
mul r1.z, r16.x, r16.x
div r1.y, r1.y, r1.z
mul r1.y, r1.y, l(1.442695)
exp r1.y, r1.y
div r1.y, r1.y, r16.y
mul r1.y, r10.x, r1.y
mad_sat r0.z, r0.z, l(0.500000), l(0.500000)
sqrt r0.z, r0.z
add r0.z, -r0.z, l(1.000000)
mul r1.z, r0.z, r0.z
mul r1.z, r1.z, r1.z
mul r0.z, r0.z, r1.z
mad r0.z, r0.z, l(0.953479409), l(0.0465205684)
mul r0.z, r1.y, r0.z
mul r0.z, r8.w, r0.z
add r1.yz, r0.yyyy, l(0.000000, -0.035000, -0.140000, 0.000000)
mul r1.yz, r1.yyzy, r1.yyzy
mul r1.yz, r1.yyzy, l(0.000000, -0.500000, -0.500000, 0.000000)
mul r0.y, r15.x, r15.x
div r0.y, r1.y, r0.y
mul r0.y, r0.y, l(1.442695)
exp r0.y, r0.y
div r0.y, r0.y, r15.y
div r1.y, l(1.000000, 1.000000, 1.000000, 1.000000), r11.x
mad r12.w, r1.y, r1.y, l(1.000000)
add r1.y, r1.y, r1.y
mad r1.y, -r1.y, r11.y, r12.w
rsq r1.y, r1.y
mul r1.y, r1.y, r10.x
div r10.x, r1.y, r11.x
add r11.x, -|r10.x|, l(1.000000)
sqrt r11.x, r11.x
mad r11.y, |r10.x|, l(-0.0187292993), l(0.074261)
mad r11.y, r11.y, |r10.x|, l(-0.212114394)
mad r11.y, r11.y, |r10.x|, l(1.57072878)
mul r12.w, r11.x, r11.y
mad r12.w, r12.w, l(-2.000000), l(3.14159274)
lt r10.x, r10.x, -r10.x
and r10.x, r12.w, r10.x
mad r10.x, r11.y, r11.x, r10.x
add r10.x, -r10.x, l(1.57079637)
mad r1.y, -r1.y, r1.y, l(1.000000)
max r1.y, r1.y, l(0.000000)
sqrt r1.y, r1.y
mad r1.y, -r2.w, r1.y, l(1.000000)
mul r11.x, r1.y, r1.y
mul r11.x, r11.x, r11.x
mul r1.y, r1.y, r11.x
mad r1.y, r1.y, l(0.953479409), l(0.0465205684)
add r1.y, -r1.y, l(1.000000)
mul r1.y, r1.y, r1.y
sincos null, r10.x, r10.x
mul r10.x, r10.x, l(0.500000)
div r10.x, r10.x, r2.w
log r15.xyw, r8.xyxz
mul r16.xyz, r10.xxxx, r15.xywx
exp r16.xyz, r16.xyzx
add r7.w, r7.w, l(-3.14159274)
mul r7.w, r7.w, l(4.80898333)
exp r7.w, r7.w
add r10.x, r7.w, l(1.000000)
mul r10.x, r10.x, r10.x
mul r10.x, r10.x, l(0.300000)
div r7.w, r7.w, r10.x
mul r0.y, r0.y, r7.w
mul r0.y, r1.y, r0.y
mul r16.xyz, r16.xyzx, r0.yyyy
mad r16.xyz, r0.zzzz, l(0.500000, 0.500000, 0.500000, 0.000000), r16.xyzx
mul r0.y, r11.w, r11.w
div r0.y, r1.z, r0.y
mul r0.y, r0.y, l(1.442695)
exp r0.y, r0.y
div r0.y, r0.y, r15.z
mad r0.z, r2.w, l(-0.500000), l(1.000000)
mul r1.y, r0.z, r0.z
mul r1.y, r1.y, r1.y
mul r0.z, r0.z, r1.y
mad r0.z, r0.z, l(0.953479409), l(0.0465205684)
add r1.y, -r0.z, l(1.000000)
mul r1.y, r1.y, r1.y
mul r0.z, r0.z, r1.y
mul r11.xyz, r11.zzzz, r15.xywx
exp r11.xyz, r11.xyzx
mad r1.y, r4.w, r3.w, l(-1.000000)
mul r1.y, r1.y, l(7.502014)
exp r1.y, r1.y
mul r0.y, r0.y, r1.y
mul r0.y, r0.y, r0.z
mul r0.y, r0.y, l(0.827605724)
mad r11.xyz, r0.yyyy, r11.xyzx, r16.xyzx
rsq r0.y, r6.w
mul r14.xyz, r0.yyyy, r14.xyzx
dp3 r0.y, r14.xyzx, r12.xyzx
add r0.y, r0.y, l(0.700000)
mul_sat r0.y, r0.y, l(0.346020758)
mul r0.x, r0.y, r0.x
mul r0.x, r0.x, l(0.318309873)
dp3 r0.y, r8.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
div r14.xyz, r8.xyzx, r0.yyyy
add r0.y, -r9.y, l(1.000000)
log r14.xyz, r14.xyzx
mul r14.xyz, r0.yyyy, r14.xyzx
exp r14.xyz, r14.xyzx
sqrt r8.xyz, r8.xyzx
mul r0.xyz, r0.xxxx, r8.xyzx
mad r13.xyz, r0.xyzx, r14.xyzx, r11.xyzx
break
case l(9)
mad r0.xyz, r10.yzwy, r1.xxxx, -r2.xyzx
dp3 r1.x, r0.xyzx, r0.xyzx
rsq r1.x, r1.x
mul r0.xyz, r0.xyzx, r1.xxxx
dp3_sat r0.x, -r2.xyzx, r0.xyzx
add r0.x, -r0.x, l(1.000000)
mul r0.y, r0.x, r0.x
mul r0.y, r0.y, r0.y
mul r0.z, r0.x, r0.y
mad r0.x, -r0.y, r0.x, l(1.000000)
mad r0.x, r0.x, r8.w, r0.z
mad r0.yz, r5.xxyx, l(0.000000, 2.000000, 2.000000, 0.000000), l(0.000000, -1.000000, -1.000000, 0.000000)
dp2 r1.x, l(1.000000, 1.000000, 0.000000, 0.000000), |r0.yzyy|
add r1.z, -r1.x, l(1.000000)
lt r2.x, r1.z, l(0.000000)
add r2.yz, -|r0.zzyz|, l(0.000000, 1.000000, 1.000000, 0.000000)
ge r5.xy, r0.yzyy, l(0.000000, 0.000000, 0.000000, 0.000000)
movc r5.xy, r5.xyxx, l(1.000000,1.000000,0,0), l(-1.000000,-1.000000,0,0)
mul r2.yz, r2.yyzy, r5.xxyx
movc r1.xy, r2.xxxx, r2.yzyy, r0.yzyy
dp3 r0.y, r1.xyzx, r1.xyzx
rsq r0.y, r0.y
mul r1.xyz, r0.yyyy, r1.xyzx
mul r0.y, r5.w, r5.z
mad r2.xyz, -r3.xyzx, r1.wwww, -r1.xyzx
mad r2.xyz, r0.yyyy, r2.xyzx, r1.xyzx
dp3 r0.y, r2.xyzx, r2.xyzx
rsq r0.y, r0.y
mul r2.xyz, r0.yyyy, r2.xyzx
dp3_sat r0.y, r1.xyzx, r12.xyzx
mad r1.xy, r0.yyyy, l(-11.000000, -11.000000, 0.000000, 0.000000), l(12.000000, 13.000000, 0.000000, 0.000000)
mul r0.z, r1.y, l(0.200000)
dp3_sat r1.y, r2.xyzx, r12.xyzx
log r1.y, r1.y
mul r1.x, r1.y, r1.x
exp r1.x, r1.x
mad r0.z, r0.z, r1.x, l(0.600000)
dp3 r1.x, r6.xyzx, r12.xyzx
add r1.x, r1.x, l(0.150000)
mul_sat r1.x, r1.x, l(0.756143689)
add r0.x, -r0.x, l(1.000000)
mad r0.y, r0.y, r0.z, -r1.x
mad r0.y, r5.z, r0.y, r1.x
mul r0.x, r0.y, r0.x
mul r0.xyz, r4.xyzx, r0.xxxx
mul r13.xyz, r0.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
break
default
mov r13.xyz, l(0,0,0,0)
break
endswitch
mul r0.xyz, r0.wwww, cb2[1].xyzx
mul r0.xyz, r0.xyzx, r13.xyzx
mad r0.xyz, r9.xzwx, r7.xyzx, r0.xyzx
else
mov r0.xyz, l(0,0,0,0)
endif
mov o0.xyz, r0.xyzx
mov o0.w, l(0)
ret
// Approximately 772 instruction slots used

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


I will try and insert the code in here and see what happens..

Intel i5 7600K @ 4.8ghz / MSI Z270 SLI / Asus 1080GTX - 416.16 / Optoma HD142x Projector / 1 4'x10' Curved Screen PVC / TrackIR / HOTAS Cougar / Cougar MFD's / Track IR / NVidia 3D Vision / Win 10 64bit

#44
Posted 07/03/2017 09:50 PM   
That last shader (aff30765ce955f97) don't seems to be a shadows/lights shaders. The other thing you can do is to see the "Shaderusage.txt" file and search for the hash shader in that txt file and post the VS related, there is a chance that also the VS need a correction (halo kind of issue). example, it the shader hash of the shadows is 606db208dac64ef1, post the 0328bf15a36c02cb shader. [code]<VertexShader hash="0328bf15a36c02cb"> <CalledPixelShaders>606db208dac64ef1 </CalledPixelShaders>[/code] To locate the VS without hunting, you need to enable the dump option in the d3dx.ini: [code]export_shaders=1 export_hlsl=2[/code]
That last shader (aff30765ce955f97) don't seems to be a shadows/lights shaders.

The other thing you can do is to see the "Shaderusage.txt" file and search for the hash shader in that txt file and post the VS related, there is a chance that also the VS need a correction (halo kind of issue).

example, it the shader hash of the shadows is 606db208dac64ef1, post the 0328bf15a36c02cb shader.
<VertexShader hash="0328bf15a36c02cb">
<CalledPixelShaders>606db208dac64ef1 </CalledPixelShaders>


To locate the VS without hunting, you need to enable the dump option in the d3dx.ini:
export_shaders=1
export_hlsl=2

MY WEB

Helix Mod - Making 3D Better

My 3D Screenshot Gallery

Like my fixes? you can donate to Paypal: dhr.donation@gmail.com

#45
Posted 07/03/2017 10:17 PM   
  3 / 12    
Scroll To Top