Bo3b's School For Shaderhackers
  81 / 88    
I don't have the game, but what is the formula? Can you post the shader? Are you trying to put that star to full depth?
I don't have the game, but what is the formula? Can you post the shader? Are you trying to put that star to full depth?

CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: MSI GeForce RTX 2080Ti Gaming X Trio
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com

Posted 07/16/2018 06:46 AM   
Well it is the light jet coming out of the neutron star that needed to be separated as it was just in mono.. here is the shader it is a VS: [code] // ---- Created with 3Dmigoto v1.2.54 on Sun Jul 15 20:32:25 2018 cbuffer cb0 : register(b0) { float4 cb0[17]; } cbuffer cb1 : register(b1) { float4 cb1[12]; } // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); void main( float4 v0 : POSITION0, out float4 o0 : TEXCOORD0, out float4 o1 : TEXCOORD1, out float4 o2 : TEXCOORD2, out float4 o3 : TEXCOORD3, out float4 o4 : TEXCOORD4, out float4 o5 : TEXCOORD5, out float3 o6 : TEXCOORD6, out float4 o7 : SV_Position0) { float4 r0,r1,r2,r3,r4; uint4 bitmask, uiDest; float4 fDest; r0.xyz = cb1[10].www * cb0[1].xyw; r0.xyz = cb1[9].www * cb0[0].xyw + r0.xyz; r0.xyz = cb1[11].www * cb0[2].xyw + r0.xyz; o0.xyz = cb0[3].xyw + r0.xyz; r0.y = cb0[16].x; r1.x = cb1[9].w; r1.y = cb1[10].w; r1.z = cb1[11].w; r0.w = dot(cb0[4].xyz, r1.xyz); r2.x = cb0[13].y * r0.w; r2.y = dot(cb0[5].xyz, r1.xyz); r2.x = r2.x / r2.y; r2.x = cb0[6].w * 2 + r2.x; r2.x = r2.x * r2.y; r2.x = r2.x / cb0[13].y; r0.w = r2.x + -r0.w; r0.w = 0.5 * abs(r0.w); r0.w = max(1, r0.w); sincos(cb0[16].y, r2.x, r3.x); r2.x = r2.x / r3.x; o3.w = r3.x; r1.w = cb0[16].x * r2.x; r2.yz = float2(0.850000024,0.900969505) * r1.ww; r3.xz = min(r2.yy, r0.ww); r0.w = r1.w / r2.z; r0.xz = r1.ww * abs(r0.ww); o2.xyzw = r1.xyzw; r3.y = 0; r0.xyz = -r3.zyz + r0.xyz; r0.w = v0.y * 0.5 + 0.5; r0.xyz = r0.www * r0.xyz + r3.xyz; r0.xyz = v0.xyz * r0.xyz; r0.w = 1; r1.y = dot(cb1[10].xyzw, r0.xyzw); r4.xyzw = cb0[1].xyzw * r1.yyyy; r1.x = dot(cb1[9].xyzw, r0.xyzw); r1.z = dot(cb1[11].xyzw, r0.xyzw); r0.xyzw = r1.xxxx * cb0[0].xyzw + r4.xyzw; r0.xyzw = r1.zzzz * cb0[2].xyzw + r0.xyzw; r0.xyzw = cb0[3].xyzw + r0.xyzw; o0.w = r0.w; o7.xyzw = r0.xyzw; o1.w = r3.z; o5.w = r3.z / r2.x; r0.xyz = cb0[7].xyz + r1.xyz; o4.xyz = r1.xyz; r1.xyz = cb0[9].xyw * r0.yyy; r0.xyw = r0.xxx * cb0[8].xyw + r1.xyz; r0.xyz = r0.zzz * cb0[10].xyw + r0.xyw; o1.xyz = cb0[11].xyw + r0.xyz; o3.x = cb1[9].z; o3.y = cb1[10].z; o3.z = cb1[11].z; o4.w = cb0[16].x; o5.x = cb1[9].x; o5.y = cb1[10].x; o5.z = cb1[11].x; o6.x = cb1[9].y; o6.y = cb1[10].y; o6.z = cb1[11].y; float4 stereo = StereoParams.Load(0); float depth = stereo.x; float convergence = stereo.y; o7.x += depth*convergence*329000000; return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) D3D Shader Disassembler // // using 3Dmigoto v1.2.54 on Sun Jul 15 20:32:25 2018 // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // POSITION 0 xyzw 0 NONE float xyz // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // TEXCOORD 0 xyzw 0 NONE float xyzw // TEXCOORD 1 xyzw 1 NONE float xyzw // TEXCOORD 2 xyzw 2 NONE float xyzw // TEXCOORD 3 xyzw 3 NONE float xyzw // TEXCOORD 4 xyzw 4 NONE float xyzw // TEXCOORD 5 xyzw 5 NONE float xyzw // TEXCOORD 6 xyz 6 NONE float xyz // SV_Position 0 xyzw 7 POS float xyzw // vs_4_0 dcl_constantbuffer cb1[12], immediateIndexed dcl_constantbuffer cb0[17], immediateIndexed dcl_input v0.xyz dcl_output o0.xyzw dcl_output o1.xyzw dcl_output o2.xyzw dcl_output o3.xyzw dcl_output o4.xyzw dcl_output o5.xyzw dcl_output o6.xyz dcl_output_siv o7.xyzw, position dcl_temps 5 mul r0.xyz, cb0[1].xywx, cb1[10].wwww mad r0.xyz, cb1[9].wwww, cb0[0].xywx, r0.xyzx mad r0.xyz, cb1[11].wwww, cb0[2].xywx, r0.xyzx add o0.xyz, r0.xyzx, cb0[3].xywx mov r0.y, cb0[16].x mov r1.x, cb1[9].w mov r1.y, cb1[10].w mov r1.z, cb1[11].w dp3 r0.w, cb0[4].xyzx, r1.xyzx mul r2.x, r0.w, cb0[13].y dp3 r2.y, cb0[5].xyzx, r1.xyzx div r2.x, r2.x, r2.y mad r2.x, cb0[6].w, l(2.000000), r2.x mul r2.x, r2.y, r2.x div r2.x, r2.x, cb0[13].y add r0.w, -r0.w, r2.x mul r0.w, |r0.w|, l(0.500000) max r0.w, r0.w, l(1.000000) sincos r2.x, r3.x, cb0[16].y div r2.x, r2.x, r3.x mov o3.w, r3.x mul r1.w, r2.x, cb0[16].x mul r2.yz, r1.wwww, l(0.000000, 0.850000, 0.900969505, 0.000000) min r3.xz, r0.wwww, r2.yyyy div r0.w, r1.w, r2.z mul r0.xz, |r0.wwww|, r1.wwww mov o2.xyzw, r1.xyzw mov r3.y, l(0) add r0.xyz, r0.xyzx, -r3.zyzz mad r0.w, v0.y, l(0.500000), l(0.500000) mad r0.xyz, r0.wwww, r0.xyzx, r3.xyzx mul r0.xyz, r0.xyzx, v0.xyzx mov r0.w, l(1.000000) dp4 r1.y, cb1[10].xyzw, r0.xyzw mul r4.xyzw, r1.yyyy, cb0[1].xyzw dp4 r1.x, cb1[9].xyzw, r0.xyzw dp4 r1.z, cb1[11].xyzw, r0.xyzw mad r0.xyzw, r1.xxxx, cb0[0].xyzw, r4.xyzw mad r0.xyzw, r1.zzzz, cb0[2].xyzw, r0.xyzw add r0.xyzw, r0.xyzw, cb0[3].xyzw mov o0.w, r0.w mov o7.xyzw, r0.xyzw mov o1.w, r3.z div o5.w, r3.z, r2.x add r0.xyz, r1.xyzx, cb0[7].xyzx mov o4.xyz, r1.xyzx mul r1.xyz, r0.yyyy, cb0[9].xywx mad r0.xyw, r0.xxxx, cb0[8].xyxw, r1.xyxz mad r0.xyz, r0.zzzz, cb0[10].xywx, r0.xywx add o1.xyz, r0.xyzx, cb0[11].xywx mov o3.x, cb1[9].z mov o3.y, cb1[10].z mov o3.z, cb1[11].z mov o4.w, cb0[16].x mov o5.x, cb1[9].x mov o5.y, cb1[10].x mov o5.z, cb1[11].x mov o6.x, cb1[9].y mov o6.y, cb1[10].y mov o6.z, cb1[11].y ret // Approximately 0 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] With that huge number it separated the trail light to where it needed to be to be in 3D.. I am unsure what else to do but it is fixed now anyhow..
Well it is the light jet coming out of the neutron star that needed to be separated as it was just in mono.. here is the shader it is a VS:


// ---- Created with 3Dmigoto v1.2.54 on Sun Jul 15 20:32:25 2018
cbuffer cb0 : register(b0)
{
float4 cb0[17];
}

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




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


void main(
float4 v0 : POSITION0,
out float4 o0 : TEXCOORD0,
out float4 o1 : TEXCOORD1,
out float4 o2 : TEXCOORD2,
out float4 o3 : TEXCOORD3,
out float4 o4 : TEXCOORD4,
out float4 o5 : TEXCOORD5,
out float3 o6 : TEXCOORD6,
out float4 o7 : SV_Position0)
{
float4 r0,r1,r2,r3,r4;
uint4 bitmask, uiDest;
float4 fDest;

r0.xyz = cb1[10].www * cb0[1].xyw;
r0.xyz = cb1[9].www * cb0[0].xyw + r0.xyz;
r0.xyz = cb1[11].www * cb0[2].xyw + r0.xyz;
o0.xyz = cb0[3].xyw + r0.xyz;
r0.y = cb0[16].x;
r1.x = cb1[9].w;
r1.y = cb1[10].w;
r1.z = cb1[11].w;
r0.w = dot(cb0[4].xyz, r1.xyz);
r2.x = cb0[13].y * r0.w;
r2.y = dot(cb0[5].xyz, r1.xyz);
r2.x = r2.x / r2.y;
r2.x = cb0[6].w * 2 + r2.x;
r2.x = r2.x * r2.y;
r2.x = r2.x / cb0[13].y;
r0.w = r2.x + -r0.w;
r0.w = 0.5 * abs(r0.w);
r0.w = max(1, r0.w);
sincos(cb0[16].y, r2.x, r3.x);
r2.x = r2.x / r3.x;
o3.w = r3.x;
r1.w = cb0[16].x * r2.x;
r2.yz = float2(0.850000024,0.900969505) * r1.ww;
r3.xz = min(r2.yy, r0.ww);
r0.w = r1.w / r2.z;
r0.xz = r1.ww * abs(r0.ww);
o2.xyzw = r1.xyzw;
r3.y = 0;
r0.xyz = -r3.zyz + r0.xyz;
r0.w = v0.y * 0.5 + 0.5;
r0.xyz = r0.www * r0.xyz + r3.xyz;
r0.xyz = v0.xyz * r0.xyz;
r0.w = 1;
r1.y = dot(cb1[10].xyzw, r0.xyzw);
r4.xyzw = cb0[1].xyzw * r1.yyyy;
r1.x = dot(cb1[9].xyzw, r0.xyzw);
r1.z = dot(cb1[11].xyzw, r0.xyzw);
r0.xyzw = r1.xxxx * cb0[0].xyzw + r4.xyzw;
r0.xyzw = r1.zzzz * cb0[2].xyzw + r0.xyzw;
r0.xyzw = cb0[3].xyzw + r0.xyzw;
o0.w = r0.w;
o7.xyzw = r0.xyzw;
o1.w = r3.z;
o5.w = r3.z / r2.x;
r0.xyz = cb0[7].xyz + r1.xyz;
o4.xyz = r1.xyz;
r1.xyz = cb0[9].xyw * r0.yyy;
r0.xyw = r0.xxx * cb0[8].xyw + r1.xyz;
r0.xyz = r0.zzz * cb0[10].xyw + r0.xyw;
o1.xyz = cb0[11].xyw + r0.xyz;
o3.x = cb1[9].z;
o3.y = cb1[10].z;
o3.z = cb1[11].z;
o4.w = cb0[16].x;
o5.x = cb1[9].x;
o5.y = cb1[10].x;
o5.z = cb1[11].x;
o6.x = cb1[9].y;
o6.y = cb1[10].y;
o6.z = cb1[11].y;

float4 stereo = StereoParams.Load(0);
float depth = stereo.x;
float convergence = stereo.y;
o7.x += depth*convergence*329000000;


return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
// using 3Dmigoto v1.2.54 on Sun Jul 15 20:32:25 2018
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION 0 xyzw 0 NONE float xyz
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD 0 xyzw 0 NONE float xyzw
// TEXCOORD 1 xyzw 1 NONE float xyzw
// TEXCOORD 2 xyzw 2 NONE float xyzw
// TEXCOORD 3 xyzw 3 NONE float xyzw
// TEXCOORD 4 xyzw 4 NONE float xyzw
// TEXCOORD 5 xyzw 5 NONE float xyzw
// TEXCOORD 6 xyz 6 NONE float xyz
// SV_Position 0 xyzw 7 POS float xyzw
//
vs_4_0
dcl_constantbuffer cb1[12], immediateIndexed
dcl_constantbuffer cb0[17], immediateIndexed
dcl_input v0.xyz
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_output o2.xyzw
dcl_output o3.xyzw
dcl_output o4.xyzw
dcl_output o5.xyzw
dcl_output o6.xyz
dcl_output_siv o7.xyzw, position
dcl_temps 5
mul r0.xyz, cb0[1].xywx, cb1[10].wwww
mad r0.xyz, cb1[9].wwww, cb0[0].xywx, r0.xyzx
mad r0.xyz, cb1[11].wwww, cb0[2].xywx, r0.xyzx
add o0.xyz, r0.xyzx, cb0[3].xywx
mov r0.y, cb0[16].x
mov r1.x, cb1[9].w
mov r1.y, cb1[10].w
mov r1.z, cb1[11].w
dp3 r0.w, cb0[4].xyzx, r1.xyzx
mul r2.x, r0.w, cb0[13].y
dp3 r2.y, cb0[5].xyzx, r1.xyzx
div r2.x, r2.x, r2.y
mad r2.x, cb0[6].w, l(2.000000), r2.x
mul r2.x, r2.y, r2.x
div r2.x, r2.x, cb0[13].y
add r0.w, -r0.w, r2.x
mul r0.w, |r0.w|, l(0.500000)
max r0.w, r0.w, l(1.000000)
sincos r2.x, r3.x, cb0[16].y
div r2.x, r2.x, r3.x
mov o3.w, r3.x
mul r1.w, r2.x, cb0[16].x
mul r2.yz, r1.wwww, l(0.000000, 0.850000, 0.900969505, 0.000000)
min r3.xz, r0.wwww, r2.yyyy
div r0.w, r1.w, r2.z
mul r0.xz, |r0.wwww|, r1.wwww
mov o2.xyzw, r1.xyzw
mov r3.y, l(0)
add r0.xyz, r0.xyzx, -r3.zyzz
mad r0.w, v0.y, l(0.500000), l(0.500000)
mad r0.xyz, r0.wwww, r0.xyzx, r3.xyzx
mul r0.xyz, r0.xyzx, v0.xyzx
mov r0.w, l(1.000000)
dp4 r1.y, cb1[10].xyzw, r0.xyzw
mul r4.xyzw, r1.yyyy, cb0[1].xyzw
dp4 r1.x, cb1[9].xyzw, r0.xyzw
dp4 r1.z, cb1[11].xyzw, r0.xyzw
mad r0.xyzw, r1.xxxx, cb0[0].xyzw, r4.xyzw
mad r0.xyzw, r1.zzzz, cb0[2].xyzw, r0.xyzw
add r0.xyzw, r0.xyzw, cb0[3].xyzw
mov o0.w, r0.w
mov o7.xyzw, r0.xyzw
mov o1.w, r3.z
div o5.w, r3.z, r2.x
add r0.xyz, r1.xyzx, cb0[7].xyzx
mov o4.xyz, r1.xyzx
mul r1.xyz, r0.yyyy, cb0[9].xywx
mad r0.xyw, r0.xxxx, cb0[8].xyxw, r1.xyxz
mad r0.xyz, r0.zzzz, cb0[10].xywx, r0.xywx
add o1.xyz, r0.xyzx, cb0[11].xywx
mov o3.x, cb1[9].z
mov o3.y, cb1[10].z
mov o3.z, cb1[11].z
mov o4.w, cb0[16].x
mov o5.x, cb1[9].x
mov o5.y, cb1[10].x
mov o5.z, cb1[11].x
mov o6.x, cb1[9].y
mov o6.y, cb1[10].y
mov o6.z, cb1[11].y
ret
// Approximately 0 instruction slots used

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


With that huge number it separated the trail light to where it needed to be to be in 3D.. I am unsure what else to do but it is fixed now anyhow..

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

Posted 07/16/2018 07:03 AM   
[quote="Th3_N3philim"]I was fixing World of Tanks , World of warships and they had sent me an email warning about using Prohibited mods and If I continue to use them I would get banned..[/quote] Really? How do they know we fix their game to be more enjoyable in 3D? Usually when they use EAC or the other one I forgot the name, the game won't run because it detects the .dll
Th3_N3philim said:I was fixing World of Tanks , World of warships and they had sent me an email warning about using Prohibited mods and If I continue to use them I would get banned..

Really? How do they know we fix their game to be more enjoyable in 3D? Usually when they use EAC or the other one I forgot the name, the game won't run because it detects the .dll

3D Vision must live! NVIDIA, don't let us down!

Posted 07/16/2018 11:49 PM   
well do you think the email was a fish to see If I was hacking mods or somethong??
well do you think the email was a fish to see If I was hacking mods or somethong??

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

Posted 07/17/2018 08:32 AM   
@Rhialto: https://worldoftanks.com/en/news/announcements/fair-play-policy-0718/ This is really sucks I am labled a cheater and prohibited from playing the game because they label me a cheater.. Like being labled is easy these days, they to do that to make you conform.. :(
@Rhialto:



https://worldoftanks.com/en/news/announcements/fair-play-policy-0718/



This is really sucks I am labled a cheater and prohibited from playing the game because they label me a cheater.. Like being labled is easy these days, they to do that to make you conform.. :(

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

Posted 07/18/2018 04:01 AM   
Dang, I played Warships again yesterday... maybe they are more agressively monitoring WoT? Do they provide an email to write if we think it's an error? We need to point them here, I mean all together we can share our passion for 3D and explain their game is not modified at all. No cheating there, unless they believe seeing depth is an unfair advantage?
Dang, I played Warships again yesterday... maybe they are more agressively monitoring WoT?

Do they provide an email to write if we think it's an error? We need to point them here, I mean all together we can share our passion for 3D and explain their game is not modified at all. No cheating there, unless they believe seeing depth is an unfair advantage?

3D Vision must live! NVIDIA, don't let us down!

Posted 07/18/2018 04:53 PM   
Well there is a spot to get mods added to the sanctioned mods list bo3b sent me a link but what migoto can do I do not think it will ever be added to the list.. here is the one for WoT bo3b said there is also one for WoS: https://worldoftanks.com/en/news/announcements/mod-hub-announcement/ he thinks it would pass but I don't think it will, but if you want to submit it go ahead..
Well there is a spot to get mods added to the sanctioned mods list bo3b sent me a link but what migoto can do I do not think it will ever be added to the list..

here is the one for WoT bo3b said there is also one for WoS:


https://worldoftanks.com/en/news/announcements/mod-hub-announcement/


he thinks it would pass but I don't think it will, but if you want to submit it go ahead..

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

Posted 07/18/2018 05:27 PM   
Not sure it's a mod we are after... it's a specific and unique .dll that needs to be whitelisted in cheat engines. What I don't know is if that dll change when a new fix version is made because if it is the case then the hash will change and will need to be approved again. There was a thread about EAC and some discussions with involved people from both party about making it possible. No idea what is the status today.
Not sure it's a mod we are after... it's a specific and unique .dll that needs to be whitelisted in cheat engines. What I don't know is if that dll change when a new fix version is made because if it is the case then the hash will change and will need to be approved again.

There was a thread about EAC and some discussions with involved people from both party about making it possible. No idea what is the status today.

3D Vision must live! NVIDIA, don't let us down!

Posted 07/18/2018 08:33 PM   
I find this shit ludicrous when there are games like tekken 7 for instance who apparently have no problem with it when it's an actual esports title with online qualifiers and real money on the line. I assume in this case no news is bad news in terms of white-listing. I fought hard and gave up when it seemed this community was not going to collectively make a big deal out of it for EAC. As I warned it was only a matter of time before your favorite game was effected. I realize this is probably not an EAC issue but think it still applies. Voices matter for this sort of thing and we should make them heard.
I find this shit ludicrous when there are games like tekken 7 for instance who apparently have no problem with it when it's an actual esports title with online qualifiers and real money on the line.

I assume in this case no news is bad news in terms of white-listing. I fought hard and gave up when it seemed this community was not going to collectively make a big deal out of it for EAC. As I warned it was only a matter of time before your favorite game was effected. I realize this is probably not an EAC issue but think it still applies. Voices matter for this sort of thing and we should make them heard.

i7-4790K CPU 4.8Ghz stable overclock.
16 GB RAM Corsair
ASUS Turbo 2080TI
Samsung SSD 840Pro
ASUS Z97-WS3D
Surround ASUS Rog Swift PG278Q(R), 2x PG278Q (yes it works)
Obutto R3volution.
Windows 10 pro 64x (Windows 7 Dual boot)

Posted 07/19/2018 11:36 AM   
yes but with so few who play in 3D then the niche games in 3D so few voices.. I just don't like that they label us Cheaters.. I know we are not but to them we are.. really asshattery at its finest..
yes but with so few who play in 3D then the niche games in 3D so few voices..

I just don't like that they label us Cheaters.. I know we are not but to them we are.. really asshattery at its finest..

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

Posted 07/20/2018 01:40 PM   
Have to admit at one stage I was very tempted to hack walls in Battlefield 4 lockers, just to break the monotony of the bastards who toss grenades for a living. But I loved the game too much to risk being at the top for a few days before being banned. Also nothing boiled my blood more than cheaters. I did however manage to pull a 80 to 10 kd from 800 tickets during my good days without any cheats. 7 out of those 10 deaths was just to keep the noobs from screamin HACKER! HACKER! Absolutely loved the LAV / BTR and owned with the M1 ABRAMS. After 1250 hours I had to delete the game to get away from this addiction. But ya, with the little knowledge I had of 3DMigoto I knew how easy it was to disable shaders. BF3 kicked you when 3D Vision was enabled. Since it was one of the best 3D Vision ready supported titles I found it a little bit odd. In BF4 (unsupported) I never got kicked with 3DV enabled...?
Have to admit at one stage I was very tempted to hack walls in Battlefield 4 lockers, just to break the monotony of the bastards who toss grenades for a living. But I loved the game too much to risk being at the top for a few days before being banned. Also nothing boiled my blood more than cheaters. I did however manage to pull a 80 to 10 kd from 800 tickets during my good days without any cheats. 7 out of those 10 deaths was just to keep the noobs from screamin HACKER! HACKER! Absolutely loved the LAV / BTR and owned with the M1 ABRAMS. After 1250 hours I had to delete the game to get away from this addiction.

But ya, with the little knowledge I had of 3DMigoto I knew how easy it was to disable shaders. BF3 kicked you when 3D Vision was enabled. Since it was one of the best 3D Vision ready supported titles I found it a little bit odd. In BF4 (unsupported) I never got kicked with 3DV enabled...?

Posted 07/20/2018 08:24 PM   
OK may be this is something for the profi shader hackers and i hope you can help me understanding.... I have read this post [url]https://forums.geforce.com/default/topic/766890/3d-vision/bo3bs-school-for-shaderhackers/post/4715553/#4715553[/url] from DSS but i cannot get behind the message @ all. I have a shader with headers ... yeah cool but .... for me this is a big mystery. I was able to correct this light shader but only for a fixed distance to it. Hence my correction formula was wrong.... May you can help me how YOU would fix this shader and whats the intension to apply your fix here? I need some what of input to get an idea....what "space" we are in this shader and how do you identify it? i have tryed it with the DSS post input but ..... but no luck, i am too stupid ^^ [code] // ---- Created with 3Dmigoto v1.3.11 on Tue Jul 31 18:25:16 2018 cbuffer cb_g_Pass : register(b2) { struct { float4 m_EyePosition; float4 m_EyeDirection; float4x4 m_ViewToWorld; float4x4 m_WorldToView; float4x4 m_ProjMatrix; float4x4 m_ViewProj; float4x4 m_ViewNoTranslationProj; float4 m_ViewTranslation; struct { float4x4 clipXYZToViewPos; float4x4 clipXYZToWorldPos; float4 clipZToViewZ; } reverseProjParams; float4 m_VPosToUV; float4 m_ViewportScaleOffset; float4 m_ClipPlane; float4 m_GlobalLightingScale; float4 m_ViewSpaceLightingBackWS; float4 m_ThinGeomAAPixelScale; } g_Pass : packoffset(c0); } cbuffer cb_g_DeferredLights : register(b5) { struct { struct { float4 m_Position; float4 m_Color; float4 m_Attenuation; } m_OmniLight; struct { float4 m_Direction; float4 m_Color; } m_DirectLight; struct { float4 m_Position; float4 m_Color; float4 m_Attenuation; float4 m_Direction; float4 m_ConeAngles; float4 m_PositionAtNearClip; } m_SpotLight; struct { float4x4 worldToLight[6]; float4 shadowMapScaleOffset[6]; float4 noiseScale; } m_Projections; struct { float4x4 worldToCookie; int4 cookieArrayIndex; } m_Cookie; float4 m_BackgroundColor; float4 m_DepthParams; float4 m_EyeXAxis; float4 m_EyeYAxis; float4 m_EyeZAxis; float4 m_VPOSToUVs_Resolve; float4 m_EyeWorldPosition_Resolve; float4 m_WeatherExposedParams; float4x4 m_LightClipToWorldMat; float4 m_IsolateVars; float m_EnvironmentSpecularScale; } g_DeferredLights : packoffset(c0); } SamplerState s_PointClamp_s : register(s10); SamplerState s_TrilinearClamp_s : register(s12); SamplerState s_TrilinearWrap_s : register(s13); Texture2DMS<float4,4> t_Albedo : register(t0); Texture2DMS<float4,4> t_Normals : register(t1); Texture2DMS<float,4> t_DepthSurface : register(t2); Texture2DMS<float4,4> t_SpecularReflectance : register(t3); Texture2D<float4> t_SSAO : register(t4); TextureCubeArray<float4> t_g_ProjectorCubeCookie : register(t10); Texture2DMS<float4,4> t_MiscProps : register(t15); Texture2D<float4> t_BRDFLUT : register(t55); // 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, out float4 o1 : SV_Target1) { float4 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12; uint4 bitmask, uiDest; float4 fDest; r0.xy = (uint2)v0.xy; r0.zw = float2(0,0); r1.z = t_DepthSurface.Load(r0.xy, 0).x; r2.xy = g_Pass.m_VPosToUV.xy * v0.xy; r1.xy = r2.xy * float2(2,-2) + float2(-1,1); r1.w = 1; r3.x = dot(r1.xyzw, g_Pass.reverseProjParams.clipXYZToViewPos._m00_m10_m20_m30); r3.y = dot(r1.xyzw, g_Pass.reverseProjParams.clipXYZToViewPos._m01_m11_m21_m31); r3.z = dot(r1.xyzw, g_Pass.reverseProjParams.clipXYZToViewPos._m02_m12_m22_m32); r1.x = dot(r1.xyzw, g_Pass.reverseProjParams.clipXYZToViewPos._m03_m13_m23_m33); r1.xyz = r3.xyz / r1.xxx; r1.w = 1; r3.x = dot(r1.xyzw, g_Pass.m_ViewToWorld._m00_m10_m20_m30); r3.y = dot(r1.xyzw, g_Pass.m_ViewToWorld._m01_m11_m21_m31); r3.z = dot(r1.xyzw, g_Pass.m_ViewToWorld._m02_m12_m22_m32); r1.xyzw = t_Albedo.Load(r0.xy, 0).xyzw; r4.xyzw = t_Normals.Load(r0.xy, 0).xyzw; r5.xyzw = t_SpecularReflectance.Load(r0.xy, 0).yxzw; r0.xyzw = t_MiscProps.Load(r0.xy, 0).xyzw; r4.xyz = r4.xyz * float3(2,2,2) + float3(-1,-1,-1); r2.z = dot(r4.xyz, r4.xyz); r2.z = rsqrt(r2.z); r4.xyz = r4.xyz * r2.zzz; r1.w = max(9.99999975e-006, r1.w); r1.w = log2(r1.w); r1.w = 2.20000005 * r1.w; r1.w = exp2(r1.w); r2.z = 19 * r4.w; r6.x = exp2(r2.z); r0.w = 255 * r0.w; r0.w = (uint)r0.w; r0.w = cmp((int)r0.w == 255); if (r0.w != 0) { r2.z = cmp(9.99999975e-005 < r5.w); r7.xyz = sqrt(r1.xyz); r1.xyz = r2.zzz ? r7.xyz : r1.xyz; r7.xyz = r0.xyz * float3(2,2,2) + float3(-1,-1,-1); r2.z = dot(r7.xyz, r7.xyz); r2.z = rsqrt(r2.z); r7.xyz = r7.xyz * r2.zzz; r2.z = 19 * r5.y; r6.y = exp2(r2.z); r8.xyz = r1.www; r9.y = 0; r1.w = 1; r0.xz = float2(0,0); } else { r8.xyz = r5.yxz; r7.xyz = float3(1,1,1); r1.xyz = float3(0,0,0); r9.y = r0.y; r6.y = 1; r5.xz = float2(1,0); } r0.y = r0.w ? r5.x : 1; r5.xyw = g_DeferredLights.m_OmniLight.m_Position.xyz + -r3.xyz; r2.z = dot(r5.xyw, r5.xyw); r2.w = rsqrt(r2.z); r10.xyz = r5.xyw * r2.www; r3.w = saturate(g_DeferredLights.m_OmniLight.m_Attenuation.z / r2.z); r2.z = saturate(r2.z * g_DeferredLights.m_OmniLight.m_Attenuation.x + g_DeferredLights.m_OmniLight.m_Attenuation.y); r4.w = r2.z * r2.z; r2.z = -r2.z * 2 + 3; r2.z = r4.w * r2.z; r2.z = r3.w * r2.z; r2.x = t_SSAO.Sample(s_PointClamp_s, r2.xy).x; r11.xyz = -g_DeferredLights.m_OmniLight.m_Position.xyz + r3.xyz; r12.x = dot(r11.xyz, g_DeferredLights.m_Cookie.worldToCookie._m00_m10_m20); r12.y = dot(r11.xyz, g_DeferredLights.m_Cookie.worldToCookie._m01_m11_m21); r12.z = dot(r11.xyz, g_DeferredLights.m_Cookie.worldToCookie._m02_m12_m22); r12.w = (int)g_DeferredLights.m_Cookie.cookieArrayIndex.x; r11.xyz = t_g_ProjectorCubeCookie.SampleLevel(s_TrilinearWrap_s, r12.xyzw, 0).xyz; r2.y = dot(r10.xyz, r7.xyz); r12.xyz = -r2.yyy * r7.xyz + r10.xyz; r2.y = dot(r12.xyz, r12.xyz); r2.y = rsqrt(r2.y); r12.xyz = r12.xyz * r2.yyy; r4.xyz = r0.www ? r12.xyz : r4.xyz; r3.xyz = g_Pass.m_EyePosition.xyz + -r3.xyz; r2.y = dot(r3.xyz, r3.xyz); r2.y = rsqrt(r2.y); r3.xyz = r3.xyz * r2.yyy; r5.xyw = r5.xyw * r2.www + r3.xyz; r2.y = dot(r5.xyw, r5.xyw); r2.y = rsqrt(r2.y); r5.xyw = r5.xyw * r2.yyy; r2.y = dot(r4.xyz, r10.xyz); r2.w = dot(r4.xyz, r5.xyw); r9.x = r2.y * 0.5 + 0.5; r6.zw = r9.xy * float2(0.96875,0.96875) + float2(0.015625,0.015625); r3.w = t_BRDFLUT.SampleLevel(s_TrilinearClamp_s, r6.zw, 0).z; r4.w = saturate(-r2.y); r0.z = r4.w * r0.z; r9.xyz = r11.xyz * r2.zzz; r9.xyz = g_DeferredLights.m_OmniLight.m_Color.xyz * r9.xyz; r10.xyz = r9.xyz * r3.www; r9.xyz = r0.zzz * r9.xyz + r10.xyz; r9.xyz = r9.xyz * r0.yyy; r0.y = dot(r10.xyz, float3(0.212599993,0.715200007,0.0722000003)); if (r0.w != 0) { r0.zw = float2(1,1) + r6.xy; r0.zw = sqrt(r0.zw); r0.zw = float2(0.125,0.125) * r0.zw; r2.z = dot(r5.xyw, r7.xyz); r2.z = r2.z * r2.z; r6.yz = r2.zz * r6.xy; r2.z = 1 + r2.w; r6.yz = -r6.yz / r2.zz; r6.yz = float2(1.44269502,1.44269502) * r6.yz; r6.yz = exp2(r6.yz); r0.zw = r6.yz * r0.zw; r6.yzw = r0.zzz * r8.xyz; r0.z = r0.w * r5.z; r1.xyz = r6.yzw * r1.xyz + r0.zzz; r1.xyz = r1.xyz * r10.xyz; } else { r0.z = r6.x * 0.5 + 1; r0.z = 1 / r0.z; r0.w = saturate(dot(r4.xyz, r3.xyz)); r2.yw = saturate(r2.yw); r2.z = saturate(dot(r3.xyz, r5.xyw)); r3.x = -1 + r0.z; r3.y = r2.w * r2.w; r3.x = r3.y * r3.x + 1; r3.x = r3.x * r3.x; r3.x = r0.z / r3.x; r4.xyz = float3(1,1,1) + -r8.xyz; r2.z = 1 + -r2.z; r3.z = r2.z * r2.z; r3.z = r3.z * r3.z; r2.z = r3.z * r2.z; r4.xyz = r4.xyz * r2.zzz + r8.xyz; r2.z = 1 + -r0.z; r3.z = r2.y * r2.z + r0.z; r3.z = sqrt(r3.z); r2.y = r3.z + r2.y; r2.y = 1 / r2.y; r2.z = r0.w * r2.z + r0.z; r2.z = sqrt(r2.z); r0.w = r2.z + r0.w; r0.w = 1 / r0.w; r0.w = r2.y * r0.w; r2.y = r3.x * r0.w; r2.z = cmp(0 < r0.x); r2.w = -r2.w * r2.w + 1.00010002; r3.z = r2.w * r2.w; r2.w = r3.y / r2.w; r2.w = -r2.w / r0.z; r2.w = 1.44269502 * r2.w; r2.w = exp2(r2.w); r2.w = 4 * r2.w; r2.w = r2.w / r3.z; r2.w = 1 + r2.w; r0.z = r0.z * 4 + 1; r0.z = r2.w / r0.z; r0.z = -r3.x * r0.w + r0.z; r0.x = r0.x * r0.z + r2.y; r0.x = r2.z ? r0.x : r2.y; r2.yzw = r4.xyz * r1.www; r2.xyz = r2.yzw * r2.xxx; r0.xzw = r2.xyz * r0.xxx; r1.xyz = r10.xyz * r0.xzw; } o0.xyz = g_Pass.m_GlobalLightingScale.xxx * r9.xyz; o1.xyz = g_Pass.m_GlobalLightingScale.xxx * r1.xyz; o0.w = g_Pass.m_GlobalLightingScale.x * r0.y; o1.w = 1; return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 // // using 3Dmigoto v1.3.11 on Tue Jul 31 18:25:16 2018 // // // Buffer Definitions: // // cbuffer cb_g_Pass // { // // struct PassConsts // { // // float4 m_EyePosition; // Offset: 0 // float4 m_EyeDirection; // Offset: 16 // float4x4 m_ViewToWorld; // Offset: 32 // float4x4 m_WorldToView; // Offset: 96 // float4x4 m_ProjMatrix; // Offset: 160 // float4x4 m_ViewProj; // Offset: 224 // float4x4 m_ViewNoTranslationProj;// Offset: 288 // float4 m_ViewTranslation; // Offset: 352 // // struct ReverseProjParams // { // // float4x4 clipXYZToViewPos; // Offset: 368 // float4x4 clipXYZToWorldPos;// Offset: 432 // float4 clipZToViewZ; // Offset: 496 // // } reverseProjParams; // Offset: 368 // float4 m_VPosToUV; // Offset: 512 // float4 m_ViewportScaleOffset; // Offset: 528 // float4 m_ClipPlane; // Offset: 544 // float4 m_GlobalLightingScale; // Offset: 560 // float4 m_ViewSpaceLightingBackWS;// Offset: 576 // float4 m_ThinGeomAAPixelScale; // Offset: 592 // // } g_Pass; // Offset: 0 Size: 608 // // } // // cbuffer cb_g_DeferredLights // { // // struct DeferredLightingConsts // { // // struct OmniLightConsts // { // // float4 m_Position; // Offset: 0 // float4 m_Color; // Offset: 16 // float4 m_Attenuation; // Offset: 32 // // } m_OmniLight; // Offset: 0 // // struct DirectLightConsts // { // // float4 m_Direction; // Offset: 48 // float4 m_Color; // Offset: 64 // // } m_DirectLight; // Offset: 48 // // struct SpotLightConsts // { // // float4 m_Position; // Offset: 80 // float4 m_Color; // Offset: 96 // float4 m_Attenuation; // Offset: 112 // float4 m_Direction; // Offset: 128 // float4 m_ConeAngles; // Offset: 144 // float4 m_PositionAtNearClip;// Offset: 160 // // } m_SpotLight; // Offset: 80 // // struct ProjectorShadowParams // { // // float4x4 worldToLight[6]; // Offset: 176 // float4 shadowMapScaleOffset[6];// Offset: 560 // float4 noiseScale; // Offset: 656 // // } m_Projections; // Offset: 176 // // struct ProjectorCookieParams // { // // float4x4 worldToCookie; // Offset: 672 // int4 cookieArrayIndex; // Offset: 736 // // } m_Cookie; // Offset: 672 // float4 m_BackgroundColor; // Offset: 752 // float4 m_DepthParams; // Offset: 768 // float4 m_EyeXAxis; // Offset: 784 // float4 m_EyeYAxis; // Offset: 800 // float4 m_EyeZAxis; // Offset: 816 // float4 m_VPOSToUVs_Resolve; // Offset: 832 // float4 m_EyeWorldPosition_Resolve;// Offset: 848 // float4 m_WeatherExposedParams; // Offset: 864 // float4x4 m_LightClipToWorldMat;// Offset: 880 // float4 m_IsolateVars; // Offset: 944 // float m_EnvironmentSpecularScale;// Offset: 960 // // } g_DeferredLights; // Offset: 0 Size: 964 // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // s_PointClamp sampler NA NA 10 1 // s_TrilinearClamp sampler NA NA 12 1 // s_TrilinearWrap sampler NA NA 13 1 // t_Albedo texture float4 2dMS4 0 1 // t_Normals texture float4 2dMS4 1 1 // t_DepthSurface texture float 2dMS4 2 1 // t_SpecularReflectance texture float4 2dMS4 3 1 // t_SSAO texture float4 2d 4 1 // t_g_ProjectorCubeCookie texture float4 cubearray 10 1 // t_MiscProps texture float4 2dMS4 15 1 // t_BRDFLUT texture float4 2d 55 1 // cb_g_Pass cbuffer NA NA 2 1 // cb_g_DeferredLights cbuffer NA NA 5 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Position 0 xyzw 0 POS float xy // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_Target 0 xyzw 0 TARGET float xyzw // SV_Target 1 xyzw 1 TARGET float xyzw // ps_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb2[36], immediateIndexed dcl_constantbuffer cb5[47], immediateIndexed dcl_sampler s10, mode_default dcl_sampler s12, mode_default dcl_sampler s13, mode_default dcl_resource_texture2dms(4) (float,float,float,float) t0 dcl_resource_texture2dms(4) (float,float,float,float) t1 dcl_resource_texture2dms(4) (float,float,float,float) t2 dcl_resource_texture2dms(4) (float,float,float,float) t3 dcl_resource_texture2d (float,float,float,float) t4 dcl_resource_texturecubearray (float,float,float,float) t10 dcl_resource_texture2dms(4) (float,float,float,float) t15 dcl_resource_texture2d (float,float,float,float) t55 dcl_input_ps_siv linear noperspective v0.xy, position dcl_output o0.xyzw dcl_output o1.xyzw dcl_temps 13 ftou r0.xy, v0.xyxx mov r0.zw, l(0,0,0,0) ldms_indexable(texture2dms)(float,float,float,float) r1.z, r0.xyww, t2.yzxw, l(0) mul r2.xy, v0.xyxx, cb2[32].xyxx mad r1.xy, r2.xyxx, l(2.000000, -2.000000, 0.000000, 0.000000), l(-1.000000, 1.000000, 0.000000, 0.000000) mov r1.w, l(1.000000) dp4 r3.x, r1.xyzw, cb2[23].xyzw dp4 r3.y, r1.xyzw, cb2[24].xyzw dp4 r3.z, r1.xyzw, cb2[25].xyzw dp4 r1.x, r1.xyzw, cb2[26].xyzw div r1.xyz, r3.xyzx, r1.xxxx mov r1.w, l(1.000000) dp4 r3.x, r1.xyzw, cb2[2].xyzw dp4 r3.y, r1.xyzw, cb2[3].xyzw dp4 r3.z, r1.xyzw, cb2[4].xyzw ldms_indexable(texture2dms)(float,float,float,float) r1.xyzw, r0.xyww, t0.xyzw, l(0) ldms_indexable(texture2dms)(float,float,float,float) r4.xyzw, r0.xyww, t1.xyzw, l(0) ldms_indexable(texture2dms)(float,float,float,float) r5.xyzw, r0.xyww, t3.yxzw, l(0) ldms_indexable(texture2dms)(float,float,float,float) r0.xyzw, r0.xyzw, t15.xyzw, l(0) mad r4.xyz, r4.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000) dp3 r2.z, r4.xyzx, r4.xyzx rsq r2.z, r2.z mul r4.xyz, r2.zzzz, r4.xyzx max r1.w, r1.w, l(0.000010) log r1.w, r1.w mul r1.w, r1.w, l(2.200000) exp r1.w, r1.w mul r2.z, r4.w, l(19.000000) exp r6.x, r2.z mul r0.w, r0.w, l(255.000000) ftou r0.w, r0.w ieq r0.w, r0.w, l(255) if_nz r0.w lt r2.z, l(0.000100), r5.w sqrt r7.xyz, r1.xyzx movc r1.xyz, r2.zzzz, r7.xyzx, r1.xyzx mad r7.xyz, r0.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000) dp3 r2.z, r7.xyzx, r7.xyzx rsq r2.z, r2.z mul r7.xyz, r2.zzzz, r7.xyzx mul r2.z, r5.y, l(19.000000) exp r6.y, r2.z mov r8.xyz, r1.wwww mov r9.y, l(0) mov r1.w, l(1.000000) mov r0.xz, l(0,0,0,0) else mov r8.xyz, r5.yxzy mov r7.xyz, l(1.000000,1.000000,1.000000,0) mov r1.xyz, l(0,0,0,0) mov r9.y, r0.y mov r6.y, l(1.000000) mov r5.xz, l(1.000000,0,0,0) endif movc r0.y, r0.w, r5.x, l(1.000000) add r5.xyw, -r3.xyxz, cb5[0].xyxz dp3 r2.z, r5.xywx, r5.xywx rsq r2.w, r2.z mul r10.xyz, r2.wwww, r5.xywx div_sat r3.w, cb5[2].z, r2.z mad_sat r2.z, r2.z, cb5[2].x, cb5[2].y mul r4.w, r2.z, r2.z mad r2.z, -r2.z, l(2.000000), l(3.000000) mul r2.z, r2.z, r4.w mul r2.z, r2.z, r3.w sample_indexable(texture2d)(float,float,float,float) r2.x, r2.xyxx, t4.xyzw, s10 add r11.xyz, r3.xyzx, -cb5[0].xyzx dp3 r12.x, r11.xyzx, cb5[42].xyzx dp3 r12.y, r11.xyzx, cb5[43].xyzx dp3 r12.z, r11.xyzx, cb5[44].xyzx itof r12.w, cb5[46].x sample_l_indexable(texturecubearray)(float,float,float,float) r11.xyz, r12.xyzw, t10.xyzw, s13, l(0.000000) dp3 r2.y, r10.xyzx, r7.xyzx mad r12.xyz, -r2.yyyy, r7.xyzx, r10.xyzx dp3 r2.y, r12.xyzx, r12.xyzx rsq r2.y, r2.y mul r12.xyz, r2.yyyy, r12.xyzx movc r4.xyz, r0.wwww, r12.xyzx, r4.xyzx add r3.xyz, -r3.xyzx, cb2[0].xyzx dp3 r2.y, r3.xyzx, r3.xyzx rsq r2.y, r2.y mul r3.xyz, r2.yyyy, r3.xyzx mad r5.xyw, r5.xyxw, r2.wwww, r3.xyxz dp3 r2.y, r5.xywx, r5.xywx rsq r2.y, r2.y mul r5.xyw, r2.yyyy, r5.xyxw dp3 r2.y, r4.xyzx, r10.xyzx dp3 r2.w, r4.xyzx, r5.xywx mad r9.x, r2.y, l(0.500000), l(0.500000) mad r6.zw, r9.xxxy, l(0.000000, 0.000000, 0.968750, 0.968750), l(0.000000, 0.000000, 0.015625, 0.015625) sample_l_indexable(texture2d)(float,float,float,float) r3.w, r6.zwzz, t55.xywz, s12, l(0.000000) mov_sat r4.w, -r2.y mul r0.z, r0.z, r4.w mul r9.xyz, r2.zzzz, r11.xyzx mul r9.xyz, r9.xyzx, cb5[1].xyzx mul r10.xyz, r3.wwww, r9.xyzx mad r9.xyz, r0.zzzz, r9.xyzx, r10.xyzx mul r9.xyz, r0.yyyy, r9.xyzx dp3 r0.y, r10.xyzx, l(0.212600, 0.715200, 0.072200, 0.000000) if_nz r0.w add r0.zw, r6.xxxy, l(0.000000, 0.000000, 1.000000, 1.000000) sqrt r0.zw, r0.zzzw mul r0.zw, r0.zzzw, l(0.000000, 0.000000, 0.125000, 0.125000) dp3 r2.z, r5.xywx, r7.xyzx mul r2.z, r2.z, r2.z mul r6.yz, r6.xxyx, r2.zzzz add r2.z, r2.w, l(1.000000) div r6.yz, -r6.yyzy, r2.zzzz mul r6.yz, r6.yyzy, l(0.000000, 1.442695, 1.442695, 0.000000) exp r6.yz, r6.yyzy mul r0.zw, r0.zzzw, r6.yyyz mul r6.yzw, r8.xxyz, r0.zzzz mul r0.z, r5.z, r0.w mad r1.xyz, r6.yzwy, r1.xyzx, r0.zzzz mul r1.xyz, r10.xyzx, r1.xyzx else mad r0.z, r6.x, l(0.500000), l(1.000000) div r0.z, l(1.000000, 1.000000, 1.000000, 1.000000), r0.z dp3_sat r0.w, r4.xyzx, r3.xyzx mov_sat r2.yw, r2.yyyw dp3_sat r2.z, r3.xyzx, r5.xywx add r3.x, r0.z, l(-1.000000) mul r3.y, r2.w, r2.w mad r3.x, r3.y, r3.x, l(1.000000) mul r3.x, r3.x, r3.x div r3.x, r0.z, r3.x add r4.xyz, -r8.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000) add r2.z, -r2.z, l(1.000000) mul r3.z, r2.z, r2.z mul r3.z, r3.z, r3.z mul r2.z, r2.z, r3.z mad r4.xyz, r4.xyzx, r2.zzzz, r8.xyzx add r2.z, -r0.z, l(1.000000) mad r3.z, r2.y, r2.z, r0.z sqrt r3.z, r3.z add r2.y, r2.y, r3.z div r2.y, l(1.000000, 1.000000, 1.000000, 1.000000), r2.y mad r2.z, r0.w, r2.z, r0.z sqrt r2.z, r2.z add r0.w, r0.w, r2.z div r0.w, l(1.000000, 1.000000, 1.000000, 1.000000), r0.w mul r0.w, r0.w, r2.y mul r2.y, r0.w, r3.x lt r2.z, l(0.000000), r0.x mad r2.w, -r2.w, r2.w, l(1.000100) mul r3.z, r2.w, r2.w div r2.w, r3.y, r2.w div r2.w, -r2.w, r0.z mul r2.w, r2.w, l(1.442695) exp r2.w, r2.w mul r2.w, r2.w, l(4.000000) div r2.w, r2.w, r3.z add r2.w, r2.w, l(1.000000) mad r0.z, r0.z, l(4.000000), l(1.000000) div r0.z, r2.w, r0.z mad r0.z, -r3.x, r0.w, r0.z mad r0.x, r0.x, r0.z, r2.y movc r0.x, r2.z, r0.x, r2.y mul r2.yzw, r1.wwww, r4.xxyz mul r2.xyz, r2.xxxx, r2.yzwy mul r0.xzw, r0.xxxx, r2.xxyz mul r1.xyz, r0.xzwx, r10.xyzx endif mul o0.xyz, r9.xyzx, cb2[35].xxxx mul o1.xyz, r1.xyzx, cb2[35].xxxx mul o0.w, r0.y, cb2[35].x mov o1.w, l(1.000000) ret // Approximately 168 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code]
OK may be this is something for the profi shader hackers and i hope you can help me understanding....

I have read this post https://forums.geforce.com/default/topic/766890/3d-vision/bo3bs-school-for-shaderhackers/post/4715553/#4715553 from DSS but i cannot get behind the message @ all. I have a shader with headers ... yeah cool but .... for me this is a big mystery. I was able to correct this light shader but only for a fixed distance to it. Hence my correction formula was wrong.... May you can help me how YOU would fix this shader and whats the intension to apply your fix here? I need some what of input to get an idea....what "space" we are in this shader and how do you identify it? i have tryed it with the DSS post input but ..... but no luck, i am too stupid ^^

// ---- Created with 3Dmigoto v1.3.11 on Tue Jul 31 18:25:16 2018

cbuffer cb_g_Pass : register(b2)
{

struct
{
float4 m_EyePosition;
float4 m_EyeDirection;
float4x4 m_ViewToWorld;
float4x4 m_WorldToView;
float4x4 m_ProjMatrix;
float4x4 m_ViewProj;
float4x4 m_ViewNoTranslationProj;
float4 m_ViewTranslation;

struct
{
float4x4 clipXYZToViewPos;
float4x4 clipXYZToWorldPos;
float4 clipZToViewZ;
} reverseProjParams;

float4 m_VPosToUV;
float4 m_ViewportScaleOffset;
float4 m_ClipPlane;
float4 m_GlobalLightingScale;
float4 m_ViewSpaceLightingBackWS;
float4 m_ThinGeomAAPixelScale;
} g_Pass : packoffset(c0);

}

cbuffer cb_g_DeferredLights : register(b5)
{

struct
{

struct
{
float4 m_Position;
float4 m_Color;
float4 m_Attenuation;
} m_OmniLight;


struct
{
float4 m_Direction;
float4 m_Color;
} m_DirectLight;


struct
{
float4 m_Position;
float4 m_Color;
float4 m_Attenuation;
float4 m_Direction;
float4 m_ConeAngles;
float4 m_PositionAtNearClip;
} m_SpotLight;


struct
{
float4x4 worldToLight[6];
float4 shadowMapScaleOffset[6];
float4 noiseScale;
} m_Projections;


struct
{
float4x4 worldToCookie;
int4 cookieArrayIndex;
} m_Cookie;

float4 m_BackgroundColor;
float4 m_DepthParams;
float4 m_EyeXAxis;
float4 m_EyeYAxis;
float4 m_EyeZAxis;
float4 m_VPOSToUVs_Resolve;
float4 m_EyeWorldPosition_Resolve;
float4 m_WeatherExposedParams;
float4x4 m_LightClipToWorldMat;
float4 m_IsolateVars;
float m_EnvironmentSpecularScale;
} g_DeferredLights : packoffset(c0);

}

SamplerState s_PointClamp_s : register(s10);
SamplerState s_TrilinearClamp_s : register(s12);
SamplerState s_TrilinearWrap_s : register(s13);
Texture2DMS<float4,4> t_Albedo : register(t0);
Texture2DMS<float4,4> t_Normals : register(t1);
Texture2DMS<float,4> t_DepthSurface : register(t2);
Texture2DMS<float4,4> t_SpecularReflectance : register(t3);
Texture2D<float4> t_SSAO : register(t4);
TextureCubeArray<float4> t_g_ProjectorCubeCookie : register(t10);
Texture2DMS<float4,4> t_MiscProps : register(t15);
Texture2D<float4> t_BRDFLUT : register(t55);


// 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,
out float4 o1 : SV_Target1)
{
float4 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12;
uint4 bitmask, uiDest;
float4 fDest;

r0.xy = (uint2)v0.xy;
r0.zw = float2(0,0);
r1.z = t_DepthSurface.Load(r0.xy, 0).x;
r2.xy = g_Pass.m_VPosToUV.xy * v0.xy;
r1.xy = r2.xy * float2(2,-2) + float2(-1,1);
r1.w = 1;
r3.x = dot(r1.xyzw, g_Pass.reverseProjParams.clipXYZToViewPos._m00_m10_m20_m30);
r3.y = dot(r1.xyzw, g_Pass.reverseProjParams.clipXYZToViewPos._m01_m11_m21_m31);
r3.z = dot(r1.xyzw, g_Pass.reverseProjParams.clipXYZToViewPos._m02_m12_m22_m32);
r1.x = dot(r1.xyzw, g_Pass.reverseProjParams.clipXYZToViewPos._m03_m13_m23_m33);


r1.xyz = r3.xyz / r1.xxx;
r1.w = 1;


r3.x = dot(r1.xyzw, g_Pass.m_ViewToWorld._m00_m10_m20_m30);
r3.y = dot(r1.xyzw, g_Pass.m_ViewToWorld._m01_m11_m21_m31);
r3.z = dot(r1.xyzw, g_Pass.m_ViewToWorld._m02_m12_m22_m32);
r1.xyzw = t_Albedo.Load(r0.xy, 0).xyzw;
r4.xyzw = t_Normals.Load(r0.xy, 0).xyzw;
r5.xyzw = t_SpecularReflectance.Load(r0.xy, 0).yxzw;
r0.xyzw = t_MiscProps.Load(r0.xy, 0).xyzw;
r4.xyz = r4.xyz * float3(2,2,2) + float3(-1,-1,-1);
r2.z = dot(r4.xyz, r4.xyz);
r2.z = rsqrt(r2.z);
r4.xyz = r4.xyz * r2.zzz;
r1.w = max(9.99999975e-006, r1.w);
r1.w = log2(r1.w);
r1.w = 2.20000005 * r1.w;
r1.w = exp2(r1.w);
r2.z = 19 * r4.w;
r6.x = exp2(r2.z);
r0.w = 255 * r0.w;
r0.w = (uint)r0.w;
r0.w = cmp((int)r0.w == 255);
if (r0.w != 0) {
r2.z = cmp(9.99999975e-005 < r5.w);
r7.xyz = sqrt(r1.xyz);
r1.xyz = r2.zzz ? r7.xyz : r1.xyz;
r7.xyz = r0.xyz * float3(2,2,2) + float3(-1,-1,-1);
r2.z = dot(r7.xyz, r7.xyz);
r2.z = rsqrt(r2.z);
r7.xyz = r7.xyz * r2.zzz;
r2.z = 19 * r5.y;
r6.y = exp2(r2.z);
r8.xyz = r1.www;
r9.y = 0;
r1.w = 1;
r0.xz = float2(0,0);
} else {
r8.xyz = r5.yxz;
r7.xyz = float3(1,1,1);
r1.xyz = float3(0,0,0);
r9.y = r0.y;
r6.y = 1;
r5.xz = float2(1,0);
}
r0.y = r0.w ? r5.x : 1;
r5.xyw = g_DeferredLights.m_OmniLight.m_Position.xyz + -r3.xyz;
r2.z = dot(r5.xyw, r5.xyw);
r2.w = rsqrt(r2.z);
r10.xyz = r5.xyw * r2.www;
r3.w = saturate(g_DeferredLights.m_OmniLight.m_Attenuation.z / r2.z);
r2.z = saturate(r2.z * g_DeferredLights.m_OmniLight.m_Attenuation.x + g_DeferredLights.m_OmniLight.m_Attenuation.y);
r4.w = r2.z * r2.z;
r2.z = -r2.z * 2 + 3;
r2.z = r4.w * r2.z;
r2.z = r3.w * r2.z;
r2.x = t_SSAO.Sample(s_PointClamp_s, r2.xy).x;
r11.xyz = -g_DeferredLights.m_OmniLight.m_Position.xyz + r3.xyz;
r12.x = dot(r11.xyz, g_DeferredLights.m_Cookie.worldToCookie._m00_m10_m20);
r12.y = dot(r11.xyz, g_DeferredLights.m_Cookie.worldToCookie._m01_m11_m21);
r12.z = dot(r11.xyz, g_DeferredLights.m_Cookie.worldToCookie._m02_m12_m22);
r12.w = (int)g_DeferredLights.m_Cookie.cookieArrayIndex.x;
r11.xyz = t_g_ProjectorCubeCookie.SampleLevel(s_TrilinearWrap_s, r12.xyzw, 0).xyz;
r2.y = dot(r10.xyz, r7.xyz);
r12.xyz = -r2.yyy * r7.xyz + r10.xyz;
r2.y = dot(r12.xyz, r12.xyz);
r2.y = rsqrt(r2.y);
r12.xyz = r12.xyz * r2.yyy;
r4.xyz = r0.www ? r12.xyz : r4.xyz;
r3.xyz = g_Pass.m_EyePosition.xyz + -r3.xyz;
r2.y = dot(r3.xyz, r3.xyz);
r2.y = rsqrt(r2.y);
r3.xyz = r3.xyz * r2.yyy;
r5.xyw = r5.xyw * r2.www + r3.xyz;
r2.y = dot(r5.xyw, r5.xyw);
r2.y = rsqrt(r2.y);
r5.xyw = r5.xyw * r2.yyy;
r2.y = dot(r4.xyz, r10.xyz);
r2.w = dot(r4.xyz, r5.xyw);
r9.x = r2.y * 0.5 + 0.5;
r6.zw = r9.xy * float2(0.96875,0.96875) + float2(0.015625,0.015625);
r3.w = t_BRDFLUT.SampleLevel(s_TrilinearClamp_s, r6.zw, 0).z;
r4.w = saturate(-r2.y);
r0.z = r4.w * r0.z;
r9.xyz = r11.xyz * r2.zzz;
r9.xyz = g_DeferredLights.m_OmniLight.m_Color.xyz * r9.xyz;
r10.xyz = r9.xyz * r3.www;
r9.xyz = r0.zzz * r9.xyz + r10.xyz;
r9.xyz = r9.xyz * r0.yyy;
r0.y = dot(r10.xyz, float3(0.212599993,0.715200007,0.0722000003));
if (r0.w != 0) {
r0.zw = float2(1,1) + r6.xy;
r0.zw = sqrt(r0.zw);
r0.zw = float2(0.125,0.125) * r0.zw;
r2.z = dot(r5.xyw, r7.xyz);
r2.z = r2.z * r2.z;
r6.yz = r2.zz * r6.xy;
r2.z = 1 + r2.w;
r6.yz = -r6.yz / r2.zz;
r6.yz = float2(1.44269502,1.44269502) * r6.yz;
r6.yz = exp2(r6.yz);
r0.zw = r6.yz * r0.zw;
r6.yzw = r0.zzz * r8.xyz;
r0.z = r0.w * r5.z;
r1.xyz = r6.yzw * r1.xyz + r0.zzz;
r1.xyz = r1.xyz * r10.xyz;
} else {
r0.z = r6.x * 0.5 + 1;
r0.z = 1 / r0.z;
r0.w = saturate(dot(r4.xyz, r3.xyz));
r2.yw = saturate(r2.yw);
r2.z = saturate(dot(r3.xyz, r5.xyw));
r3.x = -1 + r0.z;
r3.y = r2.w * r2.w;
r3.x = r3.y * r3.x + 1;
r3.x = r3.x * r3.x;
r3.x = r0.z / r3.x;
r4.xyz = float3(1,1,1) + -r8.xyz;
r2.z = 1 + -r2.z;
r3.z = r2.z * r2.z;
r3.z = r3.z * r3.z;
r2.z = r3.z * r2.z;
r4.xyz = r4.xyz * r2.zzz + r8.xyz;
r2.z = 1 + -r0.z;
r3.z = r2.y * r2.z + r0.z;
r3.z = sqrt(r3.z);
r2.y = r3.z + r2.y;
r2.y = 1 / r2.y;
r2.z = r0.w * r2.z + r0.z;
r2.z = sqrt(r2.z);
r0.w = r2.z + r0.w;
r0.w = 1 / r0.w;
r0.w = r2.y * r0.w;
r2.y = r3.x * r0.w;
r2.z = cmp(0 < r0.x);
r2.w = -r2.w * r2.w + 1.00010002;
r3.z = r2.w * r2.w;
r2.w = r3.y / r2.w;
r2.w = -r2.w / r0.z;
r2.w = 1.44269502 * r2.w;
r2.w = exp2(r2.w);
r2.w = 4 * r2.w;
r2.w = r2.w / r3.z;
r2.w = 1 + r2.w;
r0.z = r0.z * 4 + 1;
r0.z = r2.w / r0.z;
r0.z = -r3.x * r0.w + r0.z;
r0.x = r0.x * r0.z + r2.y;
r0.x = r2.z ? r0.x : r2.y;
r2.yzw = r4.xyz * r1.www;
r2.xyz = r2.yzw * r2.xxx;
r0.xzw = r2.xyz * r0.xxx;
r1.xyz = r10.xyz * r0.xzw;
}
o0.xyz = g_Pass.m_GlobalLightingScale.xxx * r9.xyz;
o1.xyz = g_Pass.m_GlobalLightingScale.xxx * r1.xyz;
o0.w = g_Pass.m_GlobalLightingScale.x * r0.y;
o1.w = 1;
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// using 3Dmigoto v1.3.11 on Tue Jul 31 18:25:16 2018
//
//
// Buffer Definitions:
//
// cbuffer cb_g_Pass
// {
//
// struct PassConsts
// {
//
// float4 m_EyePosition; // Offset: 0
// float4 m_EyeDirection; // Offset: 16
// float4x4 m_ViewToWorld; // Offset: 32
// float4x4 m_WorldToView; // Offset: 96
// float4x4 m_ProjMatrix; // Offset: 160
// float4x4 m_ViewProj; // Offset: 224
// float4x4 m_ViewNoTranslationProj;// Offset: 288
// float4 m_ViewTranslation; // Offset: 352
//
// struct ReverseProjParams
// {
//
// float4x4 clipXYZToViewPos; // Offset: 368
// float4x4 clipXYZToWorldPos;// Offset: 432
// float4 clipZToViewZ; // Offset: 496
//
// } reverseProjParams; // Offset: 368
// float4 m_VPosToUV; // Offset: 512
// float4 m_ViewportScaleOffset; // Offset: 528
// float4 m_ClipPlane; // Offset: 544
// float4 m_GlobalLightingScale; // Offset: 560
// float4 m_ViewSpaceLightingBackWS;// Offset: 576
// float4 m_ThinGeomAAPixelScale; // Offset: 592
//
// } g_Pass; // Offset: 0 Size: 608
//
// }
//
// cbuffer cb_g_DeferredLights
// {
//
// struct DeferredLightingConsts
// {
//
// struct OmniLightConsts
// {
//
// float4 m_Position; // Offset: 0
// float4 m_Color; // Offset: 16
// float4 m_Attenuation; // Offset: 32
//
// } m_OmniLight; // Offset: 0
//
// struct DirectLightConsts
// {
//
// float4 m_Direction; // Offset: 48
// float4 m_Color; // Offset: 64
//
// } m_DirectLight; // Offset: 48
//
// struct SpotLightConsts
// {
//
// float4 m_Position; // Offset: 80
// float4 m_Color; // Offset: 96
// float4 m_Attenuation; // Offset: 112
// float4 m_Direction; // Offset: 128
// float4 m_ConeAngles; // Offset: 144
// float4 m_PositionAtNearClip;// Offset: 160
//
// } m_SpotLight; // Offset: 80
//
// struct ProjectorShadowParams
// {
//
// float4x4 worldToLight[6]; // Offset: 176
// float4 shadowMapScaleOffset[6];// Offset: 560
// float4 noiseScale; // Offset: 656
//
// } m_Projections; // Offset: 176
//
// struct ProjectorCookieParams
// {
//
// float4x4 worldToCookie; // Offset: 672
// int4 cookieArrayIndex; // Offset: 736
//
// } m_Cookie; // Offset: 672
// float4 m_BackgroundColor; // Offset: 752
// float4 m_DepthParams; // Offset: 768
// float4 m_EyeXAxis; // Offset: 784
// float4 m_EyeYAxis; // Offset: 800
// float4 m_EyeZAxis; // Offset: 816
// float4 m_VPOSToUVs_Resolve; // Offset: 832
// float4 m_EyeWorldPosition_Resolve;// Offset: 848
// float4 m_WeatherExposedParams; // Offset: 864
// float4x4 m_LightClipToWorldMat;// Offset: 880
// float4 m_IsolateVars; // Offset: 944
// float m_EnvironmentSpecularScale;// Offset: 960
//
// } g_DeferredLights; // Offset: 0 Size: 964
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// s_PointClamp sampler NA NA 10 1
// s_TrilinearClamp sampler NA NA 12 1
// s_TrilinearWrap sampler NA NA 13 1
// t_Albedo texture float4 2dMS4 0 1
// t_Normals texture float4 2dMS4 1 1
// t_DepthSurface texture float 2dMS4 2 1
// t_SpecularReflectance texture float4 2dMS4 3 1
// t_SSAO texture float4 2d 4 1
// t_g_ProjectorCubeCookie texture float4 cubearray 10 1
// t_MiscProps texture float4 2dMS4 15 1
// t_BRDFLUT texture float4 2d 55 1
// cb_g_Pass cbuffer NA NA 2 1
// cb_g_DeferredLights cbuffer NA NA 5 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position 0 xyzw 0 POS float xy
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target 0 xyzw 0 TARGET float xyzw
// SV_Target 1 xyzw 1 TARGET float xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb2[36], immediateIndexed
dcl_constantbuffer cb5[47], immediateIndexed
dcl_sampler s10, mode_default
dcl_sampler s12, mode_default
dcl_sampler s13, mode_default
dcl_resource_texture2dms(4) (float,float,float,float) t0
dcl_resource_texture2dms(4) (float,float,float,float) t1
dcl_resource_texture2dms(4) (float,float,float,float) t2
dcl_resource_texture2dms(4) (float,float,float,float) t3
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_texturecubearray (float,float,float,float) t10
dcl_resource_texture2dms(4) (float,float,float,float) t15
dcl_resource_texture2d (float,float,float,float) t55
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_temps 13
ftou r0.xy, v0.xyxx
mov r0.zw, l(0,0,0,0)
ldms_indexable(texture2dms)(float,float,float,float) r1.z, r0.xyww, t2.yzxw, l(0)
mul r2.xy, v0.xyxx, cb2[32].xyxx
mad r1.xy, r2.xyxx, l(2.000000, -2.000000, 0.000000, 0.000000), l(-1.000000, 1.000000, 0.000000, 0.000000)
mov r1.w, l(1.000000)
dp4 r3.x, r1.xyzw, cb2[23].xyzw
dp4 r3.y, r1.xyzw, cb2[24].xyzw
dp4 r3.z, r1.xyzw, cb2[25].xyzw
dp4 r1.x, r1.xyzw, cb2[26].xyzw
div r1.xyz, r3.xyzx, r1.xxxx
mov r1.w, l(1.000000)
dp4 r3.x, r1.xyzw, cb2[2].xyzw
dp4 r3.y, r1.xyzw, cb2[3].xyzw
dp4 r3.z, r1.xyzw, cb2[4].xyzw
ldms_indexable(texture2dms)(float,float,float,float) r1.xyzw, r0.xyww, t0.xyzw, l(0)
ldms_indexable(texture2dms)(float,float,float,float) r4.xyzw, r0.xyww, t1.xyzw, l(0)
ldms_indexable(texture2dms)(float,float,float,float) r5.xyzw, r0.xyww, t3.yxzw, l(0)
ldms_indexable(texture2dms)(float,float,float,float) r0.xyzw, r0.xyzw, t15.xyzw, l(0)
mad r4.xyz, r4.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
dp3 r2.z, r4.xyzx, r4.xyzx
rsq r2.z, r2.z
mul r4.xyz, r2.zzzz, r4.xyzx
max r1.w, r1.w, l(0.000010)
log r1.w, r1.w
mul r1.w, r1.w, l(2.200000)
exp r1.w, r1.w
mul r2.z, r4.w, l(19.000000)
exp r6.x, r2.z
mul r0.w, r0.w, l(255.000000)
ftou r0.w, r0.w
ieq r0.w, r0.w, l(255)
if_nz r0.w
lt r2.z, l(0.000100), r5.w
sqrt r7.xyz, r1.xyzx
movc r1.xyz, r2.zzzz, r7.xyzx, r1.xyzx
mad r7.xyz, r0.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
dp3 r2.z, r7.xyzx, r7.xyzx
rsq r2.z, r2.z
mul r7.xyz, r2.zzzz, r7.xyzx
mul r2.z, r5.y, l(19.000000)
exp r6.y, r2.z
mov r8.xyz, r1.wwww
mov r9.y, l(0)
mov r1.w, l(1.000000)
mov r0.xz, l(0,0,0,0)
else
mov r8.xyz, r5.yxzy
mov r7.xyz, l(1.000000,1.000000,1.000000,0)
mov r1.xyz, l(0,0,0,0)
mov r9.y, r0.y
mov r6.y, l(1.000000)
mov r5.xz, l(1.000000,0,0,0)
endif
movc r0.y, r0.w, r5.x, l(1.000000)
add r5.xyw, -r3.xyxz, cb5[0].xyxz
dp3 r2.z, r5.xywx, r5.xywx
rsq r2.w, r2.z
mul r10.xyz, r2.wwww, r5.xywx
div_sat r3.w, cb5[2].z, r2.z
mad_sat r2.z, r2.z, cb5[2].x, cb5[2].y
mul r4.w, r2.z, r2.z
mad r2.z, -r2.z, l(2.000000), l(3.000000)
mul r2.z, r2.z, r4.w
mul r2.z, r2.z, r3.w
sample_indexable(texture2d)(float,float,float,float) r2.x, r2.xyxx, t4.xyzw, s10
add r11.xyz, r3.xyzx, -cb5[0].xyzx
dp3 r12.x, r11.xyzx, cb5[42].xyzx
dp3 r12.y, r11.xyzx, cb5[43].xyzx
dp3 r12.z, r11.xyzx, cb5[44].xyzx
itof r12.w, cb5[46].x
sample_l_indexable(texturecubearray)(float,float,float,float) r11.xyz, r12.xyzw, t10.xyzw, s13, l(0.000000)
dp3 r2.y, r10.xyzx, r7.xyzx
mad r12.xyz, -r2.yyyy, r7.xyzx, r10.xyzx
dp3 r2.y, r12.xyzx, r12.xyzx
rsq r2.y, r2.y
mul r12.xyz, r2.yyyy, r12.xyzx
movc r4.xyz, r0.wwww, r12.xyzx, r4.xyzx
add r3.xyz, -r3.xyzx, cb2[0].xyzx
dp3 r2.y, r3.xyzx, r3.xyzx
rsq r2.y, r2.y
mul r3.xyz, r2.yyyy, r3.xyzx
mad r5.xyw, r5.xyxw, r2.wwww, r3.xyxz
dp3 r2.y, r5.xywx, r5.xywx
rsq r2.y, r2.y
mul r5.xyw, r2.yyyy, r5.xyxw
dp3 r2.y, r4.xyzx, r10.xyzx
dp3 r2.w, r4.xyzx, r5.xywx
mad r9.x, r2.y, l(0.500000), l(0.500000)
mad r6.zw, r9.xxxy, l(0.000000, 0.000000, 0.968750, 0.968750), l(0.000000, 0.000000, 0.015625, 0.015625)
sample_l_indexable(texture2d)(float,float,float,float) r3.w, r6.zwzz, t55.xywz, s12, l(0.000000)
mov_sat r4.w, -r2.y
mul r0.z, r0.z, r4.w
mul r9.xyz, r2.zzzz, r11.xyzx
mul r9.xyz, r9.xyzx, cb5[1].xyzx
mul r10.xyz, r3.wwww, r9.xyzx
mad r9.xyz, r0.zzzz, r9.xyzx, r10.xyzx
mul r9.xyz, r0.yyyy, r9.xyzx
dp3 r0.y, r10.xyzx, l(0.212600, 0.715200, 0.072200, 0.000000)
if_nz r0.w
add r0.zw, r6.xxxy, l(0.000000, 0.000000, 1.000000, 1.000000)
sqrt r0.zw, r0.zzzw
mul r0.zw, r0.zzzw, l(0.000000, 0.000000, 0.125000, 0.125000)
dp3 r2.z, r5.xywx, r7.xyzx
mul r2.z, r2.z, r2.z
mul r6.yz, r6.xxyx, r2.zzzz
add r2.z, r2.w, l(1.000000)
div r6.yz, -r6.yyzy, r2.zzzz
mul r6.yz, r6.yyzy, l(0.000000, 1.442695, 1.442695, 0.000000)
exp r6.yz, r6.yyzy
mul r0.zw, r0.zzzw, r6.yyyz
mul r6.yzw, r8.xxyz, r0.zzzz
mul r0.z, r5.z, r0.w
mad r1.xyz, r6.yzwy, r1.xyzx, r0.zzzz
mul r1.xyz, r10.xyzx, r1.xyzx
else
mad r0.z, r6.x, l(0.500000), l(1.000000)
div r0.z, l(1.000000, 1.000000, 1.000000, 1.000000), r0.z
dp3_sat r0.w, r4.xyzx, r3.xyzx
mov_sat r2.yw, r2.yyyw
dp3_sat r2.z, r3.xyzx, r5.xywx
add r3.x, r0.z, l(-1.000000)
mul r3.y, r2.w, r2.w
mad r3.x, r3.y, r3.x, l(1.000000)
mul r3.x, r3.x, r3.x
div r3.x, r0.z, r3.x
add r4.xyz, -r8.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
add r2.z, -r2.z, l(1.000000)
mul r3.z, r2.z, r2.z
mul r3.z, r3.z, r3.z
mul r2.z, r2.z, r3.z
mad r4.xyz, r4.xyzx, r2.zzzz, r8.xyzx
add r2.z, -r0.z, l(1.000000)
mad r3.z, r2.y, r2.z, r0.z
sqrt r3.z, r3.z
add r2.y, r2.y, r3.z
div r2.y, l(1.000000, 1.000000, 1.000000, 1.000000), r2.y
mad r2.z, r0.w, r2.z, r0.z
sqrt r2.z, r2.z
add r0.w, r0.w, r2.z
div r0.w, l(1.000000, 1.000000, 1.000000, 1.000000), r0.w
mul r0.w, r0.w, r2.y
mul r2.y, r0.w, r3.x
lt r2.z, l(0.000000), r0.x
mad r2.w, -r2.w, r2.w, l(1.000100)
mul r3.z, r2.w, r2.w
div r2.w, r3.y, r2.w
div r2.w, -r2.w, r0.z
mul r2.w, r2.w, l(1.442695)
exp r2.w, r2.w
mul r2.w, r2.w, l(4.000000)
div r2.w, r2.w, r3.z
add r2.w, r2.w, l(1.000000)
mad r0.z, r0.z, l(4.000000), l(1.000000)
div r0.z, r2.w, r0.z
mad r0.z, -r3.x, r0.w, r0.z
mad r0.x, r0.x, r0.z, r2.y
movc r0.x, r2.z, r0.x, r2.y
mul r2.yzw, r1.wwww, r4.xxyz
mul r2.xyz, r2.xxxx, r2.yzwy
mul r0.xzw, r0.xxxx, r2.xxyz
mul r1.xyz, r0.xzwx, r10.xyzx
endif
mul o0.xyz, r9.xyzx, cb2[35].xxxx
mul o1.xyz, r1.xyzx, cb2[35].xxxx
mul o0.w, r0.y, cb2[35].x
mov o1.w, l(1.000000)
ret
// Approximately 168 instruction slots used

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

Like my work? Donations can be made via PayPal to: rauti@inetmx.de

Posted 07/31/2018 05:06 PM   
That looks like the Dark Souls 2 shadows/lighting formula. After the r1.w = 1; line that is at line 128: [code] float depth; depth=dot(r1.xyzw, g_Pass.reverseProjParams.clipXYZToViewPos._m03_m13_m23_m33); r1.x+=stereo.x*(depth*stereo.y-1); [/code] Load the stereo params before all that, as usual. This formula is a very big shortcut to what DarkStarSword explained there years ago. I discovered it by trial and error, and I've seen it work in a lot of games (Dark Souls 2 and 3, Skyrim SE, Dead Rising 3, Gothic 2, and more games that I'm forgetting). Tell me if it works.
That looks like the Dark Souls 2 shadows/lighting formula. After the r1.w = 1; line that is at line 128:

float depth;
depth=dot(r1.xyzw, g_Pass.reverseProjParams.clipXYZToViewPos._m03_m13_m23_m33);
r1.x+=stereo.x*(depth*stereo.y-1);


Load the stereo params before all that, as usual.

This formula is a very big shortcut to what DarkStarSword explained there years ago. I discovered it by trial and error, and I've seen it work in a lot of games (Dark Souls 2 and 3, Skyrim SE, Dead Rising 3, Gothic 2, and more games that I'm forgetting).

Tell me if it works.

CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: MSI GeForce RTX 2080Ti Gaming X Trio
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com

Posted 07/31/2018 10:33 PM   
Ill try it thank you very much. But i need to understand the sence behind it, even if it works ;-) .... if i want to rais my knowledge of game fixing "a bit" I think i have tryed this type of formula.....But it wasnt working but i will try it again may be i did something wrong. I have a "some" 3D fixes and if a new shader is to fix i search all the shaders for a similar looking one....also DS3....and im sure i have tryed it ^^ ...........WILL C :-) [b]//EDITH1:[/b] HEHE it realy works....damn i was on the right search but made a mistake as it seems !!! THX !!!!!!!!!! Hopefully more errors like this can be fixed with this strategy. BUT there is a shadow shader i have tryed a lot but only think i can reach is that it is in depth but is completely wrong, it will change with the sight of viewing and movement and has streems..... i will have a second look and poste it here later if this will be the only problem left .... may you have an idea.... BUT would be nice to understand the fixing strategie of the light shader... depth is a varaible, i think its called depth because it is the depth fro mthe depth buffer or so? But where is the point to know that? What of this options wil represent the fixing stragegy ?? " Projection/Clip space: Subtract usual stereo formula View Space: Option 1: Subtract usual stereo formula multiplied by camera_inv_projection._m00 Option 2: Subtract usual stereo formula divided by camera_projection._m00 Option 3: Convert to projection space, subtract usual formula, convert back to view space Option 4: Convert correction value based on depth alone to view-space then subtract it from the coordinate (may produce more accurate results than option 3 in some cases) World Space: Option 1: Convert to either view or projection space, see above, convert back to world space Option 2: Convert correction value based on depth alone to world-space then subtract it from the coordinate (may produce more accurate results in some cases) " I add the stereo formula to r1 and this formula is made with of the depth variable that is called DOT....and than substracted by 1..... This is something what i cant understand actually ^^ [b]//EDITH2:[/b] OK i have converted the fix to ASM. I have to check some more shaders follwoing this fixing strategy and write a regex for it....(may i need DHR for the regex but i will hack me through the strange snythax with google i think ^^) Could fix several effects with the same strategy in ASM, hence a regex may be usefull (if there are a lot of it ^^).... But the main problem actually is a shadow shader that i have mentioned.... I was able to influence the position of the shadow with R1.x and also kill the one eye problem but....stripe shadow that moves with looking arround...as i told... Any hint/Idea??? [url]https://s3.amazonaws.com/losti/f649790cd28c4d88-ps_replace.txt[/url]
Ill try it thank you very much. But i need to understand the sence behind it, even if it works ;-) .... if i want to rais my knowledge of game fixing "a bit"

I think i have tryed this type of formula.....But it wasnt working but i will try it again may be i did something wrong.

I have a "some" 3D fixes and if a new shader is to fix i search all the shaders for a similar looking one....also DS3....and im sure i have tryed it ^^ ...........WILL C :-)

//EDITH1: HEHE it realy works....damn i was on the right search but made a mistake as it seems !!! THX !!!!!!!!!!


Hopefully more errors like this can be fixed with this strategy. BUT there is a shadow shader i have tryed a lot but only think i can reach is that it is in depth but is completely wrong, it will change with the sight of viewing and movement and has streems..... i will have a second look and poste it here later if this will be the only problem left .... may you have an idea....


BUT would be nice to understand the fixing strategie of the light shader... depth is a varaible, i think its called depth because it is the depth fro mthe depth buffer or so? But where is the point to know that?

What of this options wil represent the fixing stragegy ??

"
Projection/Clip space:
Subtract usual stereo formula


View Space:
Option 1: Subtract usual stereo formula multiplied by camera_inv_projection._m00
Option 2: Subtract usual stereo formula divided by camera_projection._m00
Option 3: Convert to projection space, subtract usual formula, convert back to view space
Option 4: Convert correction value based on depth alone to view-space then subtract it from the coordinate (may produce more accurate results than option 3 in some cases)


World Space:
Option 1: Convert to either view or projection space, see above, convert back to world space
Option 2: Convert correction value based on depth alone to world-space then subtract it from the coordinate (may produce more accurate results in some cases)
"

I add the stereo formula to r1 and this formula is made with of the depth variable that is called DOT....and than substracted by 1..... This is something what i cant understand actually ^^


//EDITH2:

OK i have converted the fix to ASM. I have to check some more shaders follwoing this fixing strategy and write a regex for it....(may i need DHR for the regex but i will hack me through the strange snythax with google i think ^^)

Could fix several effects with the same strategy in ASM, hence a regex may be usefull (if there are a lot of it ^^)....

But the main problem actually is a shadow shader that i have mentioned....
I was able to influence the position of the shadow with R1.x and also kill the one eye problem but....stripe shadow that moves with looking arround...as i told...

Any hint/Idea???


https://s3.amazonaws.com/losti/f649790cd28c4d88-ps_replace.txt

Like my work? Donations can be made via PayPal to: rauti@inetmx.de

Posted 08/01/2018 04:01 PM   
Can you put all that shader code in a code block? Also, show me the ASM code too, to see the full shader. It looks similar to shadows in Resident Evil 7, but I want to be sure after looking at the ASM code.
Can you put all that shader code in a code block? Also, show me the ASM code too, to see the full shader.

It looks similar to shadows in Resident Evil 7, but I want to be sure after looking at the ASM code.

CPU: Intel Core i7 7700K @ 4.9GHz
Motherboard: Gigabyte Aorus GA-Z270X-Gaming 5
RAM: GSKILL Ripjaws Z 16GB 3866MHz CL18
GPU: MSI GeForce RTX 2080Ti Gaming X Trio
Monitor: Asus PG278QR
Speakers: Logitech Z506
Donations account: masterotakusuko@gmail.com

Posted 08/01/2018 05:48 PM   
  81 / 88    
Scroll To Top