Final Fantasy XIV 3D Vision fix (Possible??)
  9 / 16    
[img]https://forums.geforce.com/cmd/default/download-comment-attachment/70052/[/img]
Image

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 08/29/2016 04:05 AM   
No, that worked. Your image choice there is not the best, because you have convergence cranked waaay up, which is pulling the HUD out of the screen. That's OK, but it makes it harder to see stuff like this, because screen depth is now a bit confusing. For trying to track down a problem like this, you'd want convergence at zero, and depth at 100, in order to maximize the problem/effect in question. In this case, the green overlay text is screen depth. Always. So if you look at the clouds relative to the green text, you can see they are deeper into the screen. The reason it's not completely clear is that 25% is too little make it clear. Use the original/standard incantation of just depth*convergence, and I bet it fixes the problem for real. If it's not clear in 3D, you can also look at the sbs shots. You can see the wisp of cloud relative to the screen depth green text. You can see the offset from eye to eye. If it was screen depth, there would be no offset.
No, that worked.

Your image choice there is not the best, because you have convergence cranked waaay up, which is pulling the HUD out of the screen. That's OK, but it makes it harder to see stuff like this, because screen depth is now a bit confusing. For trying to track down a problem like this, you'd want convergence at zero, and depth at 100, in order to maximize the problem/effect in question.

In this case, the green overlay text is screen depth. Always. So if you look at the clouds relative to the green text, you can see they are deeper into the screen.

The reason it's not completely clear is that 25% is too little make it clear. Use the original/standard incantation of just depth*convergence, and I bet it fixes the problem for real.


If it's not clear in 3D, you can also look at the sbs shots. You can see the wisp of cloud relative to the screen depth green text. You can see the offset from eye to eye. If it was screen depth, there would be no offset.

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

Posted 08/29/2016 04:18 AM   
[quote="The_Nephilim"]Ahh I had succeded with finding the error code for my Cloud Shader.. here is the message what does it mean. I will also post the code I am using for it.. > reloading *_replace.txt fixes from ShaderFixes >Replacement shader found. Re-Loading replacement HLSL code from 661aff5ef8512fd6-ps_replace.txt Reload source code loaded. Size = 6426 compiling replacement HLSL code with shader model ps_5_0 compile result for replacement HLSL shader: 80004005 --------------------------------------------- BEGIN --------------------------------------------- C:\Program Files (x86)\SquareEnix\FINAL FANTASY XIV - A Realm Reborn\game\ShaderFixes\661aff5ef8512fd6-ps_replace.txt(21,24): error X3000: syntax error: unexpected token '.' ---------------------------------------------- END ---------------------------------------------- > FAILED to reload shaders from ShaderFixes Reloading d3dx.ini (EXPERIMENTAL)...[/quote] Now you have met the worst part of 3Dmigoto. The Decompiler is a crazy, crazy thing from a computer science perspective, but it gives us a lot of bang for the buck, even though it is imperfect. You can expect to run across the glitches. It happens much more often than I'd like, but it's really complicated. So, keep an eye out for exactly this sort of glitch. We are doing serious hacking here, which is why we can't expect it to work flawlessly. When you hit something weird like this, an error compile in the log- ask me. I can tell you how to fix it to get it to compile at least. I'm really not sure what happened in this case. The variable name that the game used is in fact illegal. I have no idea how they managed that, it's weird that the sampler and texture are using the same register. In any case, I hand fixed the shader below, so that it will compile and regenerate the same code. Paste this over your original in ShaderFixes. I replaced the illegal period with an underscore for those variable names. This level of fixing buggy Decompiles is not something I expect anyone outside of me or DarkStarSword to be able to do, so don't worry about that. [code]// ---- Created with 3Dmigoto v1.2.43 on Sun Aug 28 20:11:31 2016 //Clouds Clear skies.. cbuffer g_CommonParameter : register(b0) { struct { float4 m_RenderTarget; float4 m_Viewport; float4 m_Misc; float4 m_Misc2; } g_CommonParameter : packoffset(c0); } cbuffer g_PSParam : register(b1) { float4 g_PSParam[5] : packoffset(c0); } // Hand fix broken variable names. // SamplerState g_Sampler0.S_s : register(s0); SamplerState g_Sampler0_S_s : register(s0); // Texture2D<float4> g_Sampler0.T : register(t0); Texture2D<float4> g_Sampler0_T : register(t0); // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); void main( float4 v0 : SV_POSITION0, float4 v1 : TEXCOORD0, float4 v2 : TEXCOORD4, float4 v3 : TEXCOORD5, float4 v4 : TEXCOORD6, float4 v5 : TEXCOORD7, out float4 o0 : SV_TARGET0) { float4 r0,r1,r2,r3; uint4 bitmask, uiDest; float4 fDest; r0.x = dot(v3.xyz, v3.xyz); r0.x = rsqrt(r0.x); r0.xyz = v3.xyz * r0.xxx; r0.w = dot(v4.xyz, v4.xyz); r0.w = rsqrt(r0.w); r1.xyz = v4.xyz * r0.www; r0.w = dot(v5.xyz, v5.xyz); r0.w = rsqrt(r0.w); r2.xyz = v5.xyz * r0.www; // Hand fix variable names // r3.xyzw = g_Sampler0.T.Sample(g_Sampler0.S_s, v1.xy).xyzw; r3.xyzw = g_Sampler0_T.Sample(g_Sampler0_S_s, v1.xy).xyzw; r3.xy = r3.xy * float2(2,2) + float2(-1,-1); r2.xyz = r3.yyy * r2.xyz; r1.xyz = r3.xxx * r1.xyz + r2.xyz; r0.w = dot(r3.xy, r3.xy); r0.w = 1 + -r0.w; r0.w = sqrt(r0.w); r0.xyz = r0.www * r0.xyz + r1.xyz; r0.w = dot(r0.xyz, r0.xyz); r0.w = rsqrt(r0.w); r0.xyz = r0.xyz * r0.www; r0.x = dot(g_PSParam[0].xyz, r0.xyz); r0.y = -r0.x; r0.xy = float2(1,1) + r0.xy; r0.z = saturate(v2.w); r1.y = 0.5 * r0.z; r1.x = 1 + -abs(g_PSParam[0].y); r0.zw = r1.xy * r1.xy; r0.w = r0.w * r0.w; r1.xy = g_PSParam[3].zw * r0.zz + g_PSParam[3].xy; r0.z = r0.w * r0.w; r0.w = r1.x * r0.z; r0.z = r1.y * r0.z + -r0.w; r0.z = r3.w * r0.z + r0.w; r0.xy = r3.zz * r0.xy + r0.zz; r0.xy = max(float2(0,0), r0.xy); r0.xy = log2(r0.xy); r0.xy = g_PSParam[1].ww * r0.xy; r0.xy = exp2(r0.xy); r0.yzw = g_PSParam[2].xyz * r0.yyy; r0.xyz = g_PSParam[1].xyz * r0.xxx + r0.yzw; r0.xyz = sqrt(r0.xyz); r0.xyz = g_CommonParameter.m_Misc2.xxx * r0.xyz; r0.w = saturate(v4.w); r0.w = r0.w * r0.w; r0.w = r3.w * r0.w; o0.xyz = r0.xyz * r0.www; o0.w = r0.w; // Clouds to near infinity float4 stereo = StereoParams.Load(0); float depth = stereo.x; float convergence = stereo.y; v0.x += depth*convergence*0.95; return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 // // using 3Dmigoto v1.2.43 on Sun Aug 28 20:11:31 2016 // // // Buffer Definitions: // // cbuffer g_CommonParameter // { // // struct CommonParameter // { // // float4 m_RenderTarget; // Offset: 0 // float4 m_Viewport; // Offset: 16 // float4 m_Misc; // Offset: 32 // float4 m_Misc2; // Offset: 48 // // } g_CommonParameter; // Offset: 0 Size: 64 // // } // // cbuffer g_PSParam // { // // float4 g_PSParam[5]; // Offset: 0 Size: 80 // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // g_Sampler0.S sampler NA NA 0 1 // g_Sampler0.T texture float4 2d 0 1 // g_CommonParameter cbuffer NA NA 0 1 // g_PSParam cbuffer NA NA 1 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_POSITION 0 xyzw 0 POS float // TEXCOORD 0 xyzw 1 NONE float xy // TEXCOORD 4 xyzw 2 NONE float w // TEXCOORD 5 xyzw 3 NONE float xyz // TEXCOORD 6 xyzw 4 NONE float xyzw // TEXCOORD 7 xyzw 5 NONE float xyz // // // 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[4], immediateIndexed dcl_constantbuffer cb1[4], immediateIndexed dcl_sampler s0, mode_default dcl_resource_texture2d (float,float,float,float) t0 dcl_input_ps linear v1.xy dcl_input_ps linear v2.w dcl_input_ps linear v3.xyz dcl_input_ps linear v4.xyzw dcl_input_ps linear v5.xyz dcl_output o0.xyzw dcl_temps 4 dp3 r0.x, v3.xyzx, v3.xyzx rsq r0.x, r0.x mul r0.xyz, r0.xxxx, v3.xyzx dp3 r0.w, v4.xyzx, v4.xyzx rsq r0.w, r0.w mul r1.xyz, r0.wwww, v4.xyzx dp3 r0.w, v5.xyzx, v5.xyzx rsq r0.w, r0.w mul r2.xyz, r0.wwww, v5.xyzx sample_indexable(texture2d)(float,float,float,float) r3.xyzw, v1.xyxx, t0.xyzw, s0 mad r3.xy, r3.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000) mul r2.xyz, r2.xyzx, r3.yyyy mad r1.xyz, r3.xxxx, r1.xyzx, r2.xyzx dp2 r0.w, r3.xyxx, r3.xyxx add r0.w, -r0.w, l(1.000000) sqrt r0.w, r0.w mad r0.xyz, r0.wwww, r0.xyzx, r1.xyzx dp3 r0.w, r0.xyzx, r0.xyzx rsq r0.w, r0.w mul r0.xyz, r0.wwww, r0.xyzx dp3 r0.x, cb1[0].xyzx, r0.xyzx mov r0.y, -r0.x add r0.xy, r0.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000) mov_sat r0.z, v2.w mul r1.y, r0.z, l(0.500000) add r1.x, -|cb1[0].y|, l(1.000000) mul r0.zw, r1.xxxy, r1.xxxy mul r0.w, r0.w, r0.w mad r1.xy, cb1[3].zwzz, r0.zzzz, cb1[3].xyxx mul r0.z, r0.w, r0.w mul r0.w, r0.z, r1.x mad r0.z, r1.y, r0.z, -r0.w mad r0.z, r3.w, r0.z, r0.w mad r0.xy, r3.zzzz, r0.xyxx, r0.zzzz max r0.xy, r0.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000) log r0.xy, r0.xyxx mul r0.xy, r0.xyxx, cb1[1].wwww exp r0.xy, r0.xyxx mul r0.yzw, r0.yyyy, cb1[2].xxyz mad r0.xyz, cb1[1].xyzx, r0.xxxx, r0.yzwy sqrt r0.xyz, r0.xyzx mul r0.xyz, r0.xyzx, cb0[3].xxxx mov_sat r0.w, v4.w mul r0.w, r0.w, r0.w mul r0.w, r0.w, r3.w mul o0.xyz, r0.wwww, r0.xyzx mov o0.w, r0.w ret // Approximately 48 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code]
The_Nephilim said:Ahh I had succeded with finding the error code for my Cloud Shader.. here is the message what does it mean. I will also post the code I am using for it..


> reloading *_replace.txt fixes from ShaderFixes
>Replacement shader found. Re-Loading replacement HLSL code from 661aff5ef8512fd6-ps_replace.txt
Reload source code loaded. Size = 6426
compiling replacement HLSL code with shader model ps_5_0
compile result for replacement HLSL shader: 80004005
--------------------------------------------- BEGIN ---------------------------------------------
C:\Program Files (x86)\SquareEnix\FINAL FANTASY XIV - A Realm Reborn\game\ShaderFixes\661aff5ef8512fd6-ps_replace.txt(21,24): error X3000: syntax error: unexpected token '.'
---------------------------------------------- END ----------------------------------------------
> FAILED to reload shaders from ShaderFixes
Reloading d3dx.ini (EXPERIMENTAL)...

Now you have met the worst part of 3Dmigoto. The Decompiler is a crazy, crazy thing from a computer science perspective, but it gives us a lot of bang for the buck, even though it is imperfect.

You can expect to run across the glitches. It happens much more often than I'd like, but it's really complicated.

So, keep an eye out for exactly this sort of glitch. We are doing serious hacking here, which is why we can't expect it to work flawlessly.


When you hit something weird like this, an error compile in the log- ask me. I can tell you how to fix it to get it to compile at least. I'm really not sure what happened in this case. The variable name that the game used is in fact illegal. I have no idea how they managed that, it's weird that the sampler and texture are using the same register.

In any case, I hand fixed the shader below, so that it will compile and regenerate the same code. Paste this over your original in ShaderFixes. I replaced the illegal period with an underscore for those variable names. This level of fixing buggy Decompiles is not something I expect anyone outside of me or DarkStarSword to be able to do, so don't worry about that.

// ---- Created with 3Dmigoto v1.2.43 on Sun Aug 28 20:11:31 2016
//Clouds Clear skies..
cbuffer g_CommonParameter : register(b0)
{

struct
{
float4 m_RenderTarget;
float4 m_Viewport;
float4 m_Misc;
float4 m_Misc2;
} g_CommonParameter : packoffset(c0);

}

cbuffer g_PSParam : register(b1)
{
float4 g_PSParam[5] : packoffset(c0);
}

// Hand fix broken variable names.
// SamplerState g_Sampler0.S_s : register(s0);
SamplerState g_Sampler0_S_s : register(s0);
// Texture2D<float4> g_Sampler0.T : register(t0);
Texture2D<float4> g_Sampler0_T : register(t0);


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


void main(
float4 v0 : SV_POSITION0,
float4 v1 : TEXCOORD0,
float4 v2 : TEXCOORD4,
float4 v3 : TEXCOORD5,
float4 v4 : TEXCOORD6,
float4 v5 : TEXCOORD7,
out float4 o0 : SV_TARGET0)
{
float4 r0,r1,r2,r3;
uint4 bitmask, uiDest;
float4 fDest;

r0.x = dot(v3.xyz, v3.xyz);
r0.x = rsqrt(r0.x);
r0.xyz = v3.xyz * r0.xxx;
r0.w = dot(v4.xyz, v4.xyz);
r0.w = rsqrt(r0.w);
r1.xyz = v4.xyz * r0.www;
r0.w = dot(v5.xyz, v5.xyz);
r0.w = rsqrt(r0.w);
r2.xyz = v5.xyz * r0.www;

// Hand fix variable names
// r3.xyzw = g_Sampler0.T.Sample(g_Sampler0.S_s, v1.xy).xyzw;
r3.xyzw = g_Sampler0_T.Sample(g_Sampler0_S_s, v1.xy).xyzw;

r3.xy = r3.xy * float2(2,2) + float2(-1,-1);
r2.xyz = r3.yyy * r2.xyz;
r1.xyz = r3.xxx * r1.xyz + r2.xyz;
r0.w = dot(r3.xy, r3.xy);
r0.w = 1 + -r0.w;
r0.w = sqrt(r0.w);
r0.xyz = r0.www * r0.xyz + r1.xyz;
r0.w = dot(r0.xyz, r0.xyz);
r0.w = rsqrt(r0.w);
r0.xyz = r0.xyz * r0.www;
r0.x = dot(g_PSParam[0].xyz, r0.xyz);
r0.y = -r0.x;
r0.xy = float2(1,1) + r0.xy;
r0.z = saturate(v2.w);
r1.y = 0.5 * r0.z;
r1.x = 1 + -abs(g_PSParam[0].y);
r0.zw = r1.xy * r1.xy;
r0.w = r0.w * r0.w;
r1.xy = g_PSParam[3].zw * r0.zz + g_PSParam[3].xy;
r0.z = r0.w * r0.w;
r0.w = r1.x * r0.z;
r0.z = r1.y * r0.z + -r0.w;
r0.z = r3.w * r0.z + r0.w;
r0.xy = r3.zz * r0.xy + r0.zz;
r0.xy = max(float2(0,0), r0.xy);
r0.xy = log2(r0.xy);
r0.xy = g_PSParam[1].ww * r0.xy;
r0.xy = exp2(r0.xy);
r0.yzw = g_PSParam[2].xyz * r0.yyy;
r0.xyz = g_PSParam[1].xyz * r0.xxx + r0.yzw;
r0.xyz = sqrt(r0.xyz);
r0.xyz = g_CommonParameter.m_Misc2.xxx * r0.xyz;
r0.w = saturate(v4.w);
r0.w = r0.w * r0.w;
r0.w = r3.w * r0.w;
o0.xyz = r0.xyz * r0.www;
o0.w = r0.w;

// Clouds to near infinity
float4 stereo = StereoParams.Load(0);
float depth = stereo.x;
float convergence = stereo.y;
v0.x += depth*convergence*0.95;



return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// using 3Dmigoto v1.2.43 on Sun Aug 28 20:11:31 2016
//
//
// Buffer Definitions:
//
// cbuffer g_CommonParameter
// {
//
// struct CommonParameter
// {
//
// float4 m_RenderTarget; // Offset: 0
// float4 m_Viewport; // Offset: 16
// float4 m_Misc; // Offset: 32
// float4 m_Misc2; // Offset: 48
//
// } g_CommonParameter; // Offset: 0 Size: 64
//
// }
//
// cbuffer g_PSParam
// {
//
// float4 g_PSParam[5]; // Offset: 0 Size: 80
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// g_Sampler0.S sampler NA NA 0 1
// g_Sampler0.T texture float4 2d 0 1
// g_CommonParameter cbuffer NA NA 0 1
// g_PSParam cbuffer NA NA 1 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION 0 xyzw 0 POS float
// TEXCOORD 0 xyzw 1 NONE float xy
// TEXCOORD 4 xyzw 2 NONE float w
// TEXCOORD 5 xyzw 3 NONE float xyz
// TEXCOORD 6 xyzw 4 NONE float xyzw
// TEXCOORD 7 xyzw 5 NONE float xyz
//
//
// 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[4], immediateIndexed
dcl_constantbuffer cb1[4], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_input_ps linear v1.xy
dcl_input_ps linear v2.w
dcl_input_ps linear v3.xyz
dcl_input_ps linear v4.xyzw
dcl_input_ps linear v5.xyz
dcl_output o0.xyzw
dcl_temps 4
dp3 r0.x, v3.xyzx, v3.xyzx
rsq r0.x, r0.x
mul r0.xyz, r0.xxxx, v3.xyzx
dp3 r0.w, v4.xyzx, v4.xyzx
rsq r0.w, r0.w
mul r1.xyz, r0.wwww, v4.xyzx
dp3 r0.w, v5.xyzx, v5.xyzx
rsq r0.w, r0.w
mul r2.xyz, r0.wwww, v5.xyzx
sample_indexable(texture2d)(float,float,float,float) r3.xyzw, v1.xyxx, t0.xyzw, s0
mad r3.xy, r3.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
mul r2.xyz, r2.xyzx, r3.yyyy
mad r1.xyz, r3.xxxx, r1.xyzx, r2.xyzx
dp2 r0.w, r3.xyxx, r3.xyxx
add r0.w, -r0.w, l(1.000000)
sqrt r0.w, r0.w
mad r0.xyz, r0.wwww, r0.xyzx, r1.xyzx
dp3 r0.w, r0.xyzx, r0.xyzx
rsq r0.w, r0.w
mul r0.xyz, r0.wwww, r0.xyzx
dp3 r0.x, cb1[0].xyzx, r0.xyzx
mov r0.y, -r0.x
add r0.xy, r0.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
mov_sat r0.z, v2.w
mul r1.y, r0.z, l(0.500000)
add r1.x, -|cb1[0].y|, l(1.000000)
mul r0.zw, r1.xxxy, r1.xxxy
mul r0.w, r0.w, r0.w
mad r1.xy, cb1[3].zwzz, r0.zzzz, cb1[3].xyxx
mul r0.z, r0.w, r0.w
mul r0.w, r0.z, r1.x
mad r0.z, r1.y, r0.z, -r0.w
mad r0.z, r3.w, r0.z, r0.w
mad r0.xy, r3.zzzz, r0.xyxx, r0.zzzz
max r0.xy, r0.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
log r0.xy, r0.xyxx
mul r0.xy, r0.xyxx, cb1[1].wwww
exp r0.xy, r0.xyxx
mul r0.yzw, r0.yyyy, cb1[2].xxyz
mad r0.xyz, cb1[1].xyzx, r0.xxxx, r0.yzwy
sqrt r0.xyz, r0.xyzx
mul r0.xyz, r0.xyzx, cb0[3].xxxx
mov_sat r0.w, v4.w
mul r0.w, r0.w, r0.w
mul r0.w, r0.w, r3.w
mul o0.xyz, r0.wwww, r0.xyzx
mov o0.w, r0.w
ret
// Approximately 48 instruction slots used

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

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

Posted 08/29/2016 04:30 AM   
Hey Man Great news it did work. I thought If I saw the offset it was not working looks like it might have been working all along hehe!! As for that code I had a few of them error out I can find the offending ones and post them here is you want..?? Again thnx so much you have been a good mentor so far.. but where can can I find original incantation of these codes we use?? as I really don't understand them at all and only know so few..
Hey Man Great news it did work. I thought If I saw the offset it was not working looks like it might have been working all along hehe!!

As for that code I had a few of them error out I can find the offending ones and post them here is you want..??

Again thnx so much you have been a good mentor so far.. but where can can I find original incantation of these codes we use?? as I really don't understand them at all and only know so few..

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 08/29/2016 04:46 AM   
---------------------------------------------------------------- BEGIN --------------------------------------------- C:\Program Files (x86)\SquareEnix\FINAL FANTASY XIV - A Realm Reborn\game\ShaderFixes\1f1708d36747ce28-vs_replace.txt(29,14-15): warning X3578: Output value 'o2' is not completely initialized --------------------------- END ---------------------------------------------- shader successfully replaced. this is the code: [code] // ---- Created with 3Dmigoto v1.2.43 on Wed Aug 24 01:08:09 2016 //Nameplate and chatboxed to depth... The_Nephilim cbuffer g_ProjectionMatrix : register(b0) { row_major float4x4 g_ProjectionMatrix : packoffset(c0); } cbuffer g_TextureParam : register(b1) { float2 g_TextureParam : packoffset(c0); } // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); void main( float4 v0 : POSITION0, float4 v1 : COLOR0, int4 v2 : TEXCOORD0, int4 v3 : TEXCOORD1, int4 v4 : TEXCOORD2, out float4 o0 : SV_POSITION0, out float4 o1 : COLOR0, out float4 o2 : TEXCOORD0, out float4 o3 : TEXCOORD1, out float4 o4 : TEXCOORD2) { float4 r0; uint4 bitmask, uiDest; float4 fDest; o0.x = dot(g_ProjectionMatrix._m00_m01_m02_m03, v0.xyzw); o0.y = dot(g_ProjectionMatrix._m10_m11_m12_m13, v0.xyzw); o0.z = dot(g_ProjectionMatrix._m20_m21_m22_m23, v0.xyzw); o0.w = dot(g_ProjectionMatrix._m30_m31_m32_m33, v0.xyzw); o1.xyzw = v1.xyzw; r0.xy = (int2)v2.xy; o2.xy = r0.xy / g_TextureParam.xy; r0.xyz = (int3)v3.xyz; o3.xyz = float3(0.00999999978,0.00999999978,0.00999999978) * r0.xyz; o3.w = 1; r0.xyz = (int3)v4.xyz; o4.xyz = float3(0.00392156886,0.00392156886,0.00392156886) * r0.xyz; o4.w = 0; // Nameplates/chatboxes convergance float4 params = IniParams.Load(0); float4 stereo = StereoParams.Load(0); o0.x+=stereo.x*params.z; return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 // // using 3Dmigoto v1.2.43 on Wed Aug 24 01:08:09 2016 // // // Buffer Definitions: // // cbuffer g_ProjectionMatrix // { // // row_major float4x4 g_ProjectionMatrix;// Offset: 0 Size: 64 // // } // // cbuffer g_TextureParam // { // // float2 g_TextureParam; // Offset: 0 Size: 8 // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // g_ProjectionMatrix cbuffer NA NA 0 1 // g_TextureParam cbuffer NA NA 1 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // POSITION 0 xyzw 0 NONE float xyzw // COLOR 0 xyzw 1 NONE float xyzw // TEXCOORD 0 xy 2 NONE int xy // TEXCOORD 1 xyzw 3 NONE int xyz // TEXCOORD 2 xyzw 4 NONE int xyz // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_POSITION 0 xyzw 0 POS float xyzw // COLOR 0 xyzw 1 NONE float xyzw // TEXCOORD 0 xy 2 NONE float xy // TEXCOORD 1 xyzw 3 NONE float xyzw // TEXCOORD 2 xyzw 4 NONE float xyzw // vs_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb0[4], immediateIndexed dcl_constantbuffer cb1[1], immediateIndexed dcl_input v0.xyzw dcl_input v1.xyzw dcl_input v2.xy dcl_input v3.xyz dcl_input v4.xyz dcl_output_siv o0.xyzw, position dcl_output o1.xyzw dcl_output o2.xy dcl_output o3.xyzw dcl_output o4.xyzw dcl_temps 1 dp4 o0.x, cb0[0].xyzw, v0.xyzw dp4 o0.y, cb0[1].xyzw, v0.xyzw dp4 o0.z, cb0[2].xyzw, v0.xyzw dp4 o0.w, cb0[3].xyzw, v0.xyzw mov o1.xyzw, v1.xyzw itof r0.xy, v2.xyxx div o2.xy, r0.xyxx, cb1[0].xyxx itof r0.xyz, v3.xyzx mul o3.xyz, r0.xyzx, l(0.010000, 0.010000, 0.010000, 0.000000) mov o3.w, l(1.000000) itof r0.xyz, v4.xyzx mul o4.xyz, r0.xyzx, l(0.00392156886, 0.00392156886, 0.00392156886, 0.000000) mov o4.w, l(0) ret // Approximately 14 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] this is the 2nd one: C:\Program Files (x86)\SquareEnix\FINAL FANTASY XIV - A Realm Reborn\game\ShaderFixes\10c490cec21afcc6-ps_replace.txt(3,23): error X3000: syntax error: unexpected token '.' [code] // ---- Created with 3Dmigoto v1.2.43 on Sun Aug 28 20:00:00 2016 SamplerState g_Texture.S_s : register(s0); Texture2D<float4> g_Texture.T : register(t0); // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); void main( float4 v0 : SV_POSITION0, float4 v1 : COLOR0, float4 v2 : COLOR1, float2 v3 : TEXCOORD0, float2 w3 : TEXCOORD1, float4 v4 : TEXCOORD2, float4 v5 : TEXCOORD3, out float4 o0 : SV_TARGET0) { float4 r0,r1,r2,r3; uint4 bitmask, uiDest; float4 fDest; r0.x = -v5.x + v3.x; r0.yw = v3.yy; r1.xy = cmp(r0.xy >= w3.xy); r1.zw = cmp(v4.xy >= r0.xy); r1.xyzw = r1.xyzw ? float4(1,1,1,1) : 0; r1.xy = r1.xy * r1.zw; r2.xyzw = g_Texture.T.Sample(g_Texture.S_s, r0.xy).xyzw; r0.z = v5.y + r0.x; r0.x = dot(r2.xyzw, v2.xyzw); r0.x = r0.x * r1.x; r1.xz = cmp(r0.zw >= w3.xy); r1.xz = r1.xz ? float2(1,1) : 0; r2.xy = cmp(v4.xy >= r0.zw); r2.xy = r2.xy ? float2(1,1) : 0; r1.xz = r2.xy * r1.xz; r2.xyzw = g_Texture.T.Sample(g_Texture.S_s, r0.zw).xyzw; r3.xy = -v5.xx + r0.zw; r0.y = dot(r2.xyzw, v2.xyzw); r0.y = r0.y * r1.x; r0.y = r0.y * r1.z; r0.x = r0.x * r1.y + r0.y; r0.yz = cmp(r3.xy >= w3.xy); r0.yz = r0.yz ? float2(1,1) : 0; r1.xy = cmp(v4.xy >= r3.xy); r1.xy = r1.xy ? float2(1,1) : 0; r0.yz = r1.xy * r0.yz; r1.xyzw = g_Texture.T.Sample(g_Texture.S_s, r3.xy).xyzw; r0.w = dot(r1.xyzw, v2.xyzw); r0.y = r0.w * r0.y; r0.x = r0.y * r0.z + r0.x; r3.z = v5.y + r3.y; r0.yz = cmp(r3.xz >= w3.xy); r0.yz = r0.yz ? float2(1,1) : 0; r1.xy = cmp(v4.xy >= r3.xz); r1.xy = r1.xy ? float2(1,1) : 0; r0.yz = r1.xy * r0.yz; r1.xyzw = g_Texture.T.Sample(g_Texture.S_s, r3.xz).xyzw; r2.yz = -v5.xy + r3.xz; r0.w = dot(r1.xyzw, v2.xyzw); r0.y = r0.w * r0.y; r0.x = r0.y * r0.z + r0.x; r2.x = -v5.z + r2.y; r0.yz = cmp(r2.xz >= w3.xy); r0.yz = r0.yz ? float2(1,1) : 0; r1.xy = cmp(v4.xy >= r2.xz); r1.xy = r1.xy ? float2(1,1) : 0; r0.yz = r1.xy * r0.yz; r1.xyzw = g_Texture.T.Sample(g_Texture.S_s, r2.xz).xyzw; r2.yz = v5.zw + r2.xz; r0.w = dot(r1.xyzw, v2.xyzw); r0.y = r0.w * r0.y; r0.x = r0.y * r0.z + r0.x; r0.yz = cmp(r2.yz >= w3.xy); r0.yz = r0.yz ? float2(1,1) : 0; r1.xy = cmp(v4.xy >= r2.yz); r1.xy = r1.xy ? float2(1,1) : 0; r0.yz = r1.xy * r0.yz; r1.xyzw = g_Texture.T.Sample(g_Texture.S_s, r2.yz).xyzw; r0.w = dot(r1.xyzw, v2.xyzw); r0.y = r0.w * r0.y; r0.x = r0.y * r0.z + r0.x; r2.x = v5.y + r2.y; r0.yz = cmp(r2.xz >= w3.xy); r0.yz = r0.yz ? float2(1,1) : 0; r1.xy = cmp(v4.xy >= r2.xz); r1.xy = r1.xy ? float2(1,1) : 0; r0.yz = r1.xy * r0.yz; r1.xyzw = g_Texture.T.Sample(g_Texture.S_s, r2.xz).xyzw; r2.xy = v5.zz + r2.xz; r0.w = dot(r1.xyzw, v2.xyzw); r0.y = r0.w * r0.y; r0.x = r0.y * r0.z + r0.x; r0.yz = cmp(r2.xy >= w3.xy); r0.yz = r0.yz ? float2(1,1) : 0; r1.xy = cmp(v4.xy >= r2.xy); r1.xy = r1.xy ? float2(1,1) : 0; r0.yz = r1.xy * r0.yz; r1.xyzw = g_Texture.T.Sample(g_Texture.S_s, r2.xy).xyzw; r0.w = dot(r1.xyzw, v2.xyzw); r0.y = r0.w * r0.y; r0.x = r0.y * r0.z + r0.x; r2.z = v5.y + r2.y; r0.yz = cmp(r2.xz >= w3.xy); r0.yz = r0.yz ? float2(1,1) : 0; r1.xy = cmp(v4.xy >= r2.xz); r1.xy = r1.xy ? float2(1,1) : 0; r0.yz = r1.xy * r0.yz; r1.xyzw = g_Texture.T.Sample(g_Texture.S_s, r2.xz).xyzw; r2.yz = -v5.zw + r2.xz; r0.w = dot(r1.xyzw, v2.xyzw); r0.y = r0.w * r0.y; r0.x = r0.y * r0.z + r0.x; r0.yz = cmp(r2.yz >= w3.xy); r0.yz = r0.yz ? float2(1,1) : 0; r1.xy = cmp(v4.xy >= r2.yz); r1.xy = r1.xy ? float2(1,1) : 0; r0.yz = r1.xy * r0.yz; r1.xyzw = g_Texture.T.Sample(g_Texture.S_s, r2.yz).xyzw; r0.w = dot(r1.xyzw, v2.xyzw); r0.y = r0.w * r0.y; r0.x = r0.y * r0.z + r0.x; r2.x = -v5.y + r2.y; r0.yz = cmp(r2.xz >= w3.xy); r0.yz = r0.yz ? float2(1,1) : 0; r1.xy = cmp(v4.xy >= r2.xz); r1.xy = r1.xy ? float2(1,1) : 0; r0.yz = r1.xy * r0.yz; r1.xyzw = g_Texture.T.Sample(g_Texture.S_s, r2.xz).xyzw; r2.xy = -v5.zz + r2.xz; r0.w = dot(r1.xyzw, v2.xyzw); r0.y = r0.w * r0.y; r0.x = r0.y * r0.z + r0.x; r0.yz = cmp(r2.xy >= w3.xy); r0.yz = r0.yz ? float2(1,1) : 0; r1.xy = cmp(v4.xy >= r2.xy); r2.xyzw = g_Texture.T.Sample(g_Texture.S_s, r2.xy).xyzw; r0.w = dot(r2.xyzw, v2.xyzw); r1.xy = r1.xy ? float2(1,1) : 0; r0.yz = r1.xy * r0.yz; r0.y = r0.w * r0.y; r0.x = r0.y * r0.z + r0.x; r0.x = 0.200000003 * r0.x; r0.x = min(1, r0.x); o0.w = v1.w * r0.x; o0.xyz = v1.xyz; return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 // // using 3Dmigoto v1.2.43 on Sun Aug 28 20:00:00 2016 // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // g_Texture.S sampler NA NA 0 1 // g_Texture.T texture float4 2d 0 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_POSITION 0 xyzw 0 POS float // COLOR 0 xyzw 1 NONE float xyzw // COLOR 1 xyzw 2 NONE float xyzw // TEXCOORD 0 xy 3 NONE float xy // TEXCOORD 1 zw 3 NONE float zw // TEXCOORD 2 xy 4 NONE float xy // TEXCOORD 3 xyzw 5 NONE float xyzw // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_TARGET 0 xyzw 0 TARGET float xyzw // ps_5_0 dcl_globalFlags refactoringAllowed dcl_sampler s0, mode_default dcl_resource_texture2d (float,float,float,float) t0 dcl_input_ps linear v1.xyzw dcl_input_ps linear v2.xyzw dcl_input_ps linear v3.xy dcl_input_ps linear v3.zw dcl_input_ps linear v4.xy dcl_input_ps linear v5.xyzw dcl_output o0.xyzw dcl_temps 4 add r0.x, v3.x, -v5.x mov r0.yw, v3.yyyy ge r1.xy, r0.xyxx, v3.zwzz ge r1.zw, v4.xxxy, r0.xxxy and r1.xyzw, r1.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000) mul r1.xy, r1.zwzz, r1.xyxx sample_indexable(texture2d)(float,float,float,float) r2.xyzw, r0.xyxx, t0.xyzw, s0 add r0.z, r0.x, v5.y dp4 r0.x, r2.xyzw, v2.xyzw mul r0.x, r1.x, r0.x ge r1.xz, r0.zzwz, v3.zzwz and r1.xz, r1.xxzx, l(0x3f800000, 0, 0x3f800000, 0) ge r2.xy, v4.xyxx, r0.zwzz and r2.xy, r2.xyxx, l(0x3f800000, 0x3f800000, 0, 0) mul r1.xz, r1.xxzx, r2.xxyx sample_indexable(texture2d)(float,float,float,float) r2.xyzw, r0.zwzz, t0.xyzw, s0 add r3.xy, r0.zwzz, -v5.xxxx dp4 r0.y, r2.xyzw, v2.xyzw mul r0.y, r1.x, r0.y mul r0.y, r1.z, r0.y mad r0.x, r0.x, r1.y, r0.y ge r0.yz, r3.xxyx, v3.zzwz and r0.yz, r0.yyzy, l(0, 0x3f800000, 0x3f800000, 0) ge r1.xy, v4.xyxx, r3.xyxx and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0) mul r0.yz, r0.yyzy, r1.xxyx sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r3.xyxx, t0.xyzw, s0 dp4 r0.w, r1.xyzw, v2.xyzw mul r0.y, r0.y, r0.w mad r0.x, r0.y, r0.z, r0.x add r3.z, r3.y, v5.y ge r0.yz, r3.xxzx, v3.zzwz and r0.yz, r0.yyzy, l(0, 0x3f800000, 0x3f800000, 0) ge r1.xy, v4.xyxx, r3.xzxx and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0) mul r0.yz, r0.yyzy, r1.xxyx sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r3.xzxx, t0.xyzw, s0 add r2.yz, r3.xxzx, -v5.xxyx dp4 r0.w, r1.xyzw, v2.xyzw mul r0.y, r0.y, r0.w mad r0.x, r0.y, r0.z, r0.x add r2.x, r2.y, -v5.z ge r0.yz, r2.xxzx, v3.zzwz and r0.yz, r0.yyzy, l(0, 0x3f800000, 0x3f800000, 0) ge r1.xy, v4.xyxx, r2.xzxx and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0) mul r0.yz, r0.yyzy, r1.xxyx sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r2.xzxx, t0.xyzw, s0 add r2.yz, r2.xxzx, v5.zzwz dp4 r0.w, r1.xyzw, v2.xyzw mul r0.y, r0.y, r0.w mad r0.x, r0.y, r0.z, r0.x ge r0.yz, r2.yyzy, v3.zzwz and r0.yz, r0.yyzy, l(0, 0x3f800000, 0x3f800000, 0) ge r1.xy, v4.xyxx, r2.yzyy and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0) mul r0.yz, r0.yyzy, r1.xxyx sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r2.yzyy, t0.xyzw, s0 dp4 r0.w, r1.xyzw, v2.xyzw mul r0.y, r0.y, r0.w mad r0.x, r0.y, r0.z, r0.x add r2.x, r2.y, v5.y ge r0.yz, r2.xxzx, v3.zzwz and r0.yz, r0.yyzy, l(0, 0x3f800000, 0x3f800000, 0) ge r1.xy, v4.xyxx, r2.xzxx and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0) mul r0.yz, r0.yyzy, r1.xxyx sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r2.xzxx, t0.xyzw, s0 add r2.xy, r2.xzxx, v5.zzzz dp4 r0.w, r1.xyzw, v2.xyzw mul r0.y, r0.y, r0.w mad r0.x, r0.y, r0.z, r0.x ge r0.yz, r2.xxyx, v3.zzwz and r0.yz, r0.yyzy, l(0, 0x3f800000, 0x3f800000, 0) ge r1.xy, v4.xyxx, r2.xyxx and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0) mul r0.yz, r0.yyzy, r1.xxyx sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r2.xyxx, t0.xyzw, s0 dp4 r0.w, r1.xyzw, v2.xyzw mul r0.y, r0.y, r0.w mad r0.x, r0.y, r0.z, r0.x add r2.z, r2.y, v5.y ge r0.yz, r2.xxzx, v3.zzwz and r0.yz, r0.yyzy, l(0, 0x3f800000, 0x3f800000, 0) ge r1.xy, v4.xyxx, r2.xzxx and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0) mul r0.yz, r0.yyzy, r1.xxyx sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r2.xzxx, t0.xyzw, s0 add r2.yz, r2.xxzx, -v5.zzwz dp4 r0.w, r1.xyzw, v2.xyzw mul r0.y, r0.y, r0.w mad r0.x, r0.y, r0.z, r0.x ge r0.yz, r2.yyzy, v3.zzwz and r0.yz, r0.yyzy, l(0, 0x3f800000, 0x3f800000, 0) ge r1.xy, v4.xyxx, r2.yzyy and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0) mul r0.yz, r0.yyzy, r1.xxyx sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r2.yzyy, t0.xyzw, s0 dp4 r0.w, r1.xyzw, v2.xyzw mul r0.y, r0.y, r0.w mad r0.x, r0.y, r0.z, r0.x add r2.x, r2.y, -v5.y ge r0.yz, r2.xxzx, v3.zzwz and r0.yz, r0.yyzy, l(0, 0x3f800000, 0x3f800000, 0) ge r1.xy, v4.xyxx, r2.xzxx and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0) mul r0.yz, r0.yyzy, r1.xxyx sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r2.xzxx, t0.xyzw, s0 add r2.xy, r2.xzxx, -v5.zzzz dp4 r0.w, r1.xyzw, v2.xyzw mul r0.y, r0.y, r0.w mad r0.x, r0.y, r0.z, r0.x ge r0.yz, r2.xxyx, v3.zzwz and r0.yz, r0.yyzy, l(0, 0x3f800000, 0x3f800000, 0) ge r1.xy, v4.xyxx, r2.xyxx sample_indexable(texture2d)(float,float,float,float) r2.xyzw, r2.xyxx, t0.xyzw, s0 dp4 r0.w, r2.xyzw, v2.xyzw and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0) mul r0.yz, r0.yyzy, r1.xxyx mul r0.y, r0.y, r0.w mad r0.x, r0.y, r0.z, r0.x mul r0.x, r0.x, l(0.200000) min r0.x, r0.x, l(1.000000) mul o0.w, r0.x, v1.w mov o0.xyz, v1.xyzx ret // Approximately 126 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] C:\Program Files (x86)\SquareEnix\FINAL FANTASY XIV - A Realm Reborn\game\ShaderFixes\0ecaaa3a296cc862-ps_replace.txt(39,35): error X3000: syntax error: unexpected token '.' [code]// ---- Created with 3Dmigoto v1.2.43 on Sun Aug 28 12:20:04 2016 cbuffer g_CommonParameter : register(b0) { struct { float4 m_RenderTarget; float4 m_Viewport; float4 m_Misc; float4 m_Misc2; } g_CommonParameter : packoffset(c0); } cbuffer g_LightParam : register(b1) { struct { float3 m_Position; float3 m_Direction; float3 m_DiffuseColor; float3 m_SpecularColor; float4 m_Attenuation; float4 m_ClipMin; float3 m_ClipMax; float3 m_FadeScale; float4 m_ShadowTexMask; float4 m_PlaneRayDirection; row_major float3x4 m_PlaneInversMatrix; row_major float3x4 m_WorldViewInversMatrix; row_major float4x4 m_LightMapMatrix; row_major float4x4 m_WorldViewProjectionMatrix; } g_LightParam : packoffset(c0); } SamplerState g_SamplerViewPosition.S_s : register(s0); SamplerState g_SamplerAttenuation.S_s : register(s1); SamplerState g_SamplerGBuffer.S_s : register(s2); Texture2D<float4> g_SamplerViewPosition.T : register(t0); Texture2D<float4> g_SamplerAttenuation.T : register(t1); Texture2D<float4> g_SamplerGBuffer.T : register(t2); // 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; uint4 bitmask, uiDest; float4 fDest; r0.w = 1; r1.xy = v0.xy * g_CommonParameter.m_RenderTarget.xy + g_CommonParameter.m_RenderTarget.zw; r2.xyz = g_SamplerViewPosition.T.Sample(g_SamplerViewPosition.S_s, r1.xy).xyz; r1.xyzw = g_SamplerGBuffer.T.Sample(g_SamplerGBuffer.S_s, r1.xy).xyzw; r0.xyz = r2.xyz; r3.x = dot(g_LightParam.g_LightParam.m_WorldViewInversMatrix._m00_m01_m02_m03, r0.xyzw); r3.y = dot(g_LightParam.m_WorldViewInversMatrix._m10_m11_m12_m13, r0.xyzw); r3.z = dot(g_LightParam.m_WorldViewInversMatrix._m20_m21_m22_m23, r0.xyzw); r0.xyz = -g_LightParam.m_ClipMin.xyz + r3.xyz; r3.xyz = g_LightParam.m_ClipMax.xyz + -r3.xyz; r3.xyz = cmp(r3.xyz < float3(0,0,0)); r0.xyz = cmp(r0.xyz < float3(0,0,0)); r0.x = (int)r0.y | (int)r0.x; r0.x = (int)r0.z | (int)r0.x; if (r0.x != 0) discard; r0.x = (int)r3.y | (int)r3.x; r0.x = (int)r3.z | (int)r0.x; if (r0.x != 0) discard; r0.x = dot(-r2.xyz, -r2.xyz); r0.x = rsqrt(r0.x); r0.xyz = -r2.xyz * r0.xxx; r2.xyz = g_LightParam.m_Position.xyz + -r2.xyz; r1.xyz = float3(-0.5,-0.5,-0.5) + r1.xyz; r0.w = max(0.00200000009, r1.w); r0.w = log2(r0.w); r0.w = -15 * r0.w; r1.w = dot(r1.xyz, r1.xyz); r1.w = rsqrt(r1.w); r1.xyz = r1.xyz * r1.www; r1.w = dot(-r0.xyz, r1.xyz); r1.w = r1.w + r1.w; r0.xyz = r1.xyz * -r1.www + -r0.xyz; r1.w = dot(r2.xyz, r2.xyz); r2.w = rsqrt(r1.w); r2.xyz = r2.xyz * r2.www; r2.w = r2.w / r1.w; r3.x = g_LightParam.m_Attenuation.z * r1.w; r1.w = g_LightParam.m_Attenuation.w * r2.w; r0.x = saturate(dot(r0.xyz, r2.xyz)); r1.x = saturate(dot(r1.xyz, r2.xyz)); r0.x = log2(r0.x); r0.x = r0.w * r0.x; r0.x = exp2(r0.x); r0.y = 1 + -r1.x; r0.y = r0.y * r0.y; r0.y = r0.y * -3 + 3; r0.y = min(1, r0.y); r1.y = r0.x * r0.y; r3.y = 0; r0.x = g_SamplerAttenuation.T.Sample(g_SamplerAttenuation.S_s, r3.xy).x; r0.x = saturate(r1.w * r0.x); r0.xy = r1.xy * r0.xx; o0.xyz = g_LightParam.m_DiffuseColor.xyz * r0.xxx; o0.w = r0.x; o1.xyz = g_LightParam.m_SpecularColor.xyz * r0.yyy; o1.w = r0.y; return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 // // using 3Dmigoto v1.2.43 on Sun Aug 28 12:20:04 2016 // // // Buffer Definitions: // // cbuffer g_CommonParameter // { // // struct CommonParameter // { // // float4 m_RenderTarget; // Offset: 0 // float4 m_Viewport; // Offset: 16 // float4 m_Misc; // Offset: 32 // float4 m_Misc2; // Offset: 48 // // } g_CommonParameter; // Offset: 0 Size: 64 // // } // // cbuffer g_LightParam // { // // struct LightParam // { // // float3 m_Position; // Offset: 0 // float3 m_Direction; // Offset: 16 // float3 m_DiffuseColor; // Offset: 32 // float3 m_SpecularColor; // Offset: 48 // float4 m_Attenuation; // Offset: 64 // float4 m_ClipMin; // Offset: 80 // float3 m_ClipMax; // Offset: 96 // float3 m_FadeScale; // Offset: 112 // float4 m_ShadowTexMask; // Offset: 128 // float4 m_PlaneRayDirection; // Offset: 144 // row_major float3x4 m_PlaneInversMatrix;// Offset: 160 // row_major float3x4 m_WorldViewInversMatrix;// Offset: 208 // row_major float4x4 m_LightMapMatrix;// Offset: 256 // row_major float4x4 m_WorldViewProjectionMatrix;// Offset: 320 // // } g_LightParam; // Offset: 0 Size: 384 // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // g_SamplerViewPosition.S sampler NA NA 0 1 // g_SamplerAttenuation.S sampler NA NA 1 1 // g_SamplerGBuffer.S sampler NA NA 2 1 // g_SamplerViewPosition.T texture float4 2d 0 1 // g_SamplerAttenuation.T texture float4 2d 1 1 // g_SamplerGBuffer.T texture float4 2d 2 1 // g_CommonParameter cbuffer NA NA 0 1 // g_LightParam cbuffer NA NA 1 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 cb0[1], immediateIndexed dcl_constantbuffer cb1[16], immediateIndexed dcl_sampler s0, mode_default dcl_sampler s1, mode_default dcl_sampler s2, 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_input_ps_siv linear noperspective v0.xy, position dcl_output o0.xyzw dcl_output o1.xyzw dcl_temps 4 mov r0.w, l(1.000000) mad r1.xy, v0.xyxx, cb0[0].xyxx, cb0[0].zwzz sample_indexable(texture2d)(float,float,float,float) r2.xyz, r1.xyxx, t0.xyzw, s0 sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r1.xyxx, t2.xyzw, s2 mov r0.xyz, r2.xyzx dp4 r3.x, cb1[13].xyzw, r0.xyzw dp4 r3.y, cb1[14].xyzw, r0.xyzw dp4 r3.z, cb1[15].xyzw, r0.xyzw add r0.xyz, r3.xyzx, -cb1[5].xyzx add r3.xyz, -r3.xyzx, cb1[6].xyzx lt r3.xyz, r3.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000) lt r0.xyz, r0.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000) or r0.x, r0.y, r0.x or r0.x, r0.z, r0.x discard_nz r0.x or r0.x, r3.y, r3.x or r0.x, r3.z, r0.x discard_nz r0.x dp3 r0.x, -r2.xyzx, -r2.xyzx rsq r0.x, r0.x mul r0.xyz, r0.xxxx, -r2.xyzx add r2.xyz, -r2.xyzx, cb1[0].xyzx add r1.xyz, r1.xyzx, l(-0.500000, -0.500000, -0.500000, 0.000000) max r0.w, r1.w, l(0.002000) log r0.w, r0.w mul r0.w, r0.w, l(-15.000000) dp3 r1.w, r1.xyzx, r1.xyzx rsq r1.w, r1.w mul r1.xyz, r1.wwww, r1.xyzx dp3 r1.w, -r0.xyzx, r1.xyzx add r1.w, r1.w, r1.w mad r0.xyz, r1.xyzx, -r1.wwww, -r0.xyzx dp3 r1.w, r2.xyzx, r2.xyzx rsq r2.w, r1.w mul r2.xyz, r2.wwww, r2.xyzx div r2.w, r2.w, r1.w mul r3.x, r1.w, cb1[4].z mul r1.w, r2.w, cb1[4].w dp3_sat r0.x, r0.xyzx, r2.xyzx dp3_sat r1.x, r1.xyzx, r2.xyzx log r0.x, r0.x mul r0.x, r0.x, r0.w exp r0.x, r0.x add r0.y, -r1.x, l(1.000000) mul r0.y, r0.y, r0.y mad r0.y, r0.y, l(-3.000000), l(3.000000) min r0.y, r0.y, l(1.000000) mul r1.y, r0.y, r0.x mov r3.y, l(0) sample_indexable(texture2d)(float,float,float,float) r0.x, r3.xyxx, t1.xyzw, s1 mul_sat r0.x, r0.x, r1.w mul r0.xy, r0.xxxx, r1.xyxx mul o0.xyz, r0.xxxx, cb1[2].xyzx mov o0.w, r0.x mul o1.xyz, r0.yyyy, cb1[3].xyzx mov o1.w, r0.y ret // Approximately 57 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] C:\Program Files (x86)\SquareEnix\FINAL FANTASY XIV - A Realm Reborn\game\ShaderFixes\372c6628a1634513-ps_replace.txt(50,35): error X3000: syntax error: unexpected token '.' [code]// ---- Created with 3Dmigoto v1.2.43 on Sun Aug 28 12:29:09 2016 cbuffer g_CommonParameter : register(b0) { struct { float4 m_RenderTarget; float4 m_Viewport; float4 m_Misc; float4 m_Misc2; } g_CommonParameter : packoffset(c0); } cbuffer g_OmniShadowParam : register(b1) { struct { row_major float4x4 m_ViewProjectionMatrix[4]; float4 m_Resolution; } g_OmniShadowParam : packoffset(c0); } cbuffer g_LightParam : register(b2) { struct { float3 m_Position; float3 m_Direction; float3 m_DiffuseColor; float3 m_SpecularColor; float4 m_Attenuation; float4 m_ClipMin; float3 m_ClipMax; float3 m_FadeScale; float4 m_ShadowTexMask; float4 m_PlaneRayDirection; row_major float3x4 m_PlaneInversMatrix; row_major float3x4 m_WorldViewInversMatrix; row_major float4x4 m_LightMapMatrix; row_major float4x4 m_WorldViewProjectionMatrix; } g_LightParam : packoffset(c0); } SamplerState g_SamplerViewPosition.S_s : register(s0); SamplerState g_SamplerAttenuation.S_s : register(s1); SamplerState g_SamplerOmniShadowStatic.S_s : register(s2); SamplerState g_SamplerOmniShadowDynamic.S_s : register(s3); SamplerState g_SamplerOmniShadowIndexTable.S_s : register(s4); SamplerState g_SamplerGBuffer.S_s : register(s5); Texture2D<float4> g_SamplerViewPosition.T : register(t0); Texture2D<float4> g_SamplerAttenuation.T : register(t1); Texture2D<float4> g_SamplerOmniShadowStatic.T : register(t2); Texture2D<float4> g_SamplerOmniShadowDynamic.T : register(t3); TextureCube<float4> g_SamplerOmniShadowIndexTable.T : register(t4); Texture2D<float4> g_SamplerGBuffer.T : register(t5); // 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; uint4 bitmask, uiDest; float4 fDest; r0.xy = v0.xy * g_CommonParameter.m_RenderTarget.xy + g_CommonParameter.m_RenderTarget.zw; r1.xyz = g_SamplerViewPosition.T.Sample(g_SamplerViewPosition.S_s, r0.xy).xyz; r0.xyzw = g_SamplerGBuffer.T.Sample(g_SamplerGBuffer.S_s, r0.xy).xyzw; r2.xyz = r1.xyz; r2.w = 1; r3.x = dot(g_LightParam.g_LightParam.m_WorldViewInversMatrix._m00_m01_m02_m03, r2.xyzw); r3.y = dot(g_LightParam.m_WorldViewInversMatrix._m10_m11_m12_m13, r2.xyzw); r3.z = dot(g_LightParam.m_WorldViewInversMatrix._m20_m21_m22_m23, r2.xyzw); r4.xyzw = g_SamplerOmniShadowIndexTable.T.Sample(g_SamplerOmniShadowIndexTable.S_s, r3.xyz).xyzw; r5.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[1]._m00_m01_m02_m03 * r4.yyyy; r5.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[0]._m00_m01_m02_m03 * r4.xxxx + r5.xyzw; r5.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[2]._m00_m01_m02_m03 * r4.zzzz + r5.xyzw; r5.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[3]._m00_m01_m02_m03 * r4.wwww + r5.xyzw; r5.x = dot(r5.xyzw, r2.xyzw); r6.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[1]._m10_m11_m12_m13 * r4.yyyy; r6.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[0]._m10_m11_m12_m13 * r4.xxxx + r6.xyzw; r6.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[2]._m10_m11_m12_m13 * r4.zzzz + r6.xyzw; r6.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[3]._m10_m11_m12_m13 * r4.wwww + r6.xyzw; r5.y = dot(r6.xyzw, r2.xyzw); r6.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[1]._m20_m21_m22_m23 * r4.yyyy; r6.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[0]._m20_m21_m22_m23 * r4.xxxx + r6.xyzw; r6.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[2]._m20_m21_m22_m23 * r4.zzzz + r6.xyzw; r6.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[3]._m20_m21_m22_m23 * r4.wwww + r6.xyzw; r5.z = dot(r6.xyzw, r2.xyzw); r6.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[1]._m30_m31_m32_m33 * r4.yyyy; r6.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[0]._m30_m31_m32_m33 * r4.xxxx + r6.xyzw; r6.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[2]._m30_m31_m32_m33 * r4.zzzz + r6.xyzw; r4.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[3]._m30_m31_m32_m33 * r4.wwww + r6.xyzw; r1.w = dot(r4.xyzw, r2.xyzw); r2.xyz = r5.xyz / r1.www; r4.xyzw = g_SamplerOmniShadowStatic.T.Gather(g_SamplerOmniShadowStatic.S_s, r2.xy, int2(1, 1)).xyzw; r1.w = min(1, r2.z); r4.xyzw = cmp(r4.xyzw >= r1.wwww); r4.xyzw = r4.xyzw ? float4(1,1,1,1) : 0; r5.xyzw = g_SamplerOmniShadowStatic.T.Gather(g_SamplerOmniShadowStatic.S_s, r2.xy, int2(-1, 1)).xyzw; r5.xyzw = cmp(r5.xyzw >= r1.wwww); r2.zw = r5.xw ? float2(-1,-1) : float2(-0,-0); r5.xyzw = r5.xyzw ? float4(1,1,1,1) : 0; r2.zw = r4.yz + r2.zw; r4.yz = r2.xy * g_OmniShadowParam.m_Resolution.xy + float2(-0.5,-0.5); r4.yz = frac(r4.yz); r2.zw = r4.yy * r2.zw + r5.xw; r2.zw = r2.zw + r5.yz; r2.zw = r2.zw + r4.xw; r5.xyzw = g_SamplerOmniShadowStatic.T.Gather(g_SamplerOmniShadowStatic.S_s, r2.xy, int2(1, -1)).xyzw; r5.xyzw = cmp(r5.xyzw >= r1.wwww); r5.xyzw = r5.xyzw ? float4(1,1,1,1) : 0; r6.xyzw = g_SamplerOmniShadowStatic.T.Gather(g_SamplerOmniShadowStatic.S_s, r2.xy, int2(-1, -1)).xyzw; r6.xyzw = cmp(r6.xyzw >= r1.wwww); r4.xw = r6.wx ? float2(-1,-1) : float2(-0,-0); r6.xyzw = r6.xyzw ? float4(1,1,1,1) : 0; r4.xw = r5.zy + r4.xw; r4.xw = r4.yy * r4.xw + r6.wx; r4.xw = r4.xw + r6.zy; r4.xw = r4.xw + r5.wx; r2.z = -r4.x + r2.z; r2.z = r4.z * r2.z + r4.x; r2.z = r2.z + r4.w; r2.z = r2.z + r2.w; r2.z = 0.111111112 * r2.z; r5.xyzw = g_SamplerOmniShadowDynamic.T.Gather(g_SamplerOmniShadowDynamic.S_s, r2.xy, int2(1, 1)).xyzw; r5.xyzw = cmp(r5.xyzw >= r1.wwww); r5.xyzw = r5.xyzw ? float4(1,1,1,1) : 0; r6.xyzw = g_SamplerOmniShadowDynamic.T.Gather(g_SamplerOmniShadowDynamic.S_s, r2.xy, int2(-1, 1)).xyzw; r6.xyzw = cmp(r6.xyzw >= r1.wwww); r4.xw = r6.xw ? float2(-1,-1) : float2(-0,-0); r6.xyzw = r6.xyzw ? float4(1,1,1,1) : 0; r4.xw = r5.yz + r4.xw; r4.xw = r4.yy * r4.xw + r6.xw; r4.xw = r4.xw + r6.yz; r4.xw = r4.xw + r5.xw; r5.xyzw = g_SamplerOmniShadowDynamic.T.Gather(g_SamplerOmniShadowDynamic.S_s, r2.xy, int2(1, -1)).xyzw; r6.xyzw = g_SamplerOmniShadowDynamic.T.Gather(g_SamplerOmniShadowDynamic.S_s, r2.xy, int2(-1, -1)).xyzw; r6.xyzw = cmp(r6.xyzw >= r1.wwww); r5.xyzw = cmp(r5.xyzw >= r1.wwww); r5.xyzw = r5.xyzw ? float4(1,1,1,1) : 0; r2.xy = r6.wx ? float2(-1,-1) : float2(-0,-0); r6.xyzw = r6.xyzw ? float4(1,1,1,1) : 0; r2.xy = r5.zy + r2.xy; r2.xy = r4.yy * r2.xy + r6.wx; r2.xy = r2.xy + r6.zy; r2.xy = r2.xy + r5.wx; r1.w = r4.x + -r2.x; r1.w = r4.z * r1.w + r2.x; r1.w = r1.w + r2.y; r1.w = r1.w + r4.w; r1.w = 0.111111112 * r1.w; r1.w = min(r2.z, r1.w); r2.x = cmp(r1.w != r1.w); r1.w = r2.x ? 1 : r1.w; r2.x = -0.00100000005 + r1.w; r2.x = cmp(r2.x < 0); if (r2.x != 0) discard; r2.xyz = -g_LightParam.m_ClipMin.xyz + r3.xyz; r3.xyz = g_LightParam.m_ClipMax.xyz + -r3.xyz; r3.xyz = cmp(r3.xyz < float3(0,0,0)); r2.xyz = cmp(r2.xyz < float3(0,0,0)); r2.x = (int)r2.y | (int)r2.x; r2.x = (int)r2.z | (int)r2.x; if (r2.x != 0) discard; r2.x = (int)r3.y | (int)r3.x; r2.x = (int)r3.z | (int)r2.x; if (r2.x != 0) discard; r2.x = dot(-r1.xyz, -r1.xyz); r2.x = rsqrt(r2.x); r2.xyz = r2.xxx * -r1.xyz; r1.xyz = g_LightParam.m_Position.xyz + -r1.xyz; r0.xyz = float3(-0.5,-0.5,-0.5) + r0.xyz; r0.w = max(0.00200000009, r0.w); r0.w = log2(r0.w); r0.w = -15 * r0.w; r2.w = dot(r0.xyz, r0.xyz); r2.w = rsqrt(r2.w); r0.xyz = r2.www * r0.xyz; r2.w = dot(-r2.xyz, r0.xyz); r2.w = r2.w + r2.w; r2.xyz = r0.xyz * -r2.www + -r2.xyz; r2.w = dot(r1.xyz, r1.xyz); r3.x = rsqrt(r2.w); r1.xyz = r3.xxx * r1.xyz; r3.x = r3.x / r2.w; r4.x = g_LightParam.m_Attenuation.z * r2.w; r2.w = g_LightParam.m_Attenuation.w * r3.x; r2.x = saturate(dot(r2.xyz, r1.xyz)); r0.x = saturate(dot(r0.xyz, r1.xyz)); r0.z = log2(r2.x); r0.z = r0.w * r0.z; r0.z = exp2(r0.z); r0.w = 1 + -r0.x; r0.w = r0.w * r0.w; r0.w = r0.w * -3 + 3; r0.w = min(1, r0.w); r0.y = r0.z * r0.w; r4.y = 0; r0.z = g_SamplerAttenuation.T.Sample(g_SamplerAttenuation.S_s, r4.xy).x; r0.z = saturate(r2.w * r0.z); r0.xy = r0.xy * r0.zz; r0.xy = r0.xy * r1.ww; o0.xyz = g_LightParam.m_DiffuseColor.xyz * r0.xxx; o0.w = r0.x; o1.xyz = g_LightParam.m_SpecularColor.xyz * r0.yyy; o1.w = r0.y; return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 // // using 3Dmigoto v1.2.43 on Sun Aug 28 12:29:08 2016 // // // Buffer Definitions: // // cbuffer g_CommonParameter // { // // struct CommonParameter // { // // float4 m_RenderTarget; // Offset: 0 // float4 m_Viewport; // Offset: 16 // float4 m_Misc; // Offset: 32 // float4 m_Misc2; // Offset: 48 // // } g_CommonParameter; // Offset: 0 Size: 64 // // } // // cbuffer g_OmniShadowParam // { // // struct OmniShadowParam // { // // row_major float4x4 m_ViewProjectionMatrix[4];// Offset: 0 // float4 m_Resolution; // Offset: 256 // // } g_OmniShadowParam; // Offset: 0 Size: 272 // // } // // cbuffer g_LightParam // { // // struct LightParam // { // // float3 m_Position; // Offset: 0 // float3 m_Direction; // Offset: 16 // float3 m_DiffuseColor; // Offset: 32 // float3 m_SpecularColor; // Offset: 48 // float4 m_Attenuation; // Offset: 64 // float4 m_ClipMin; // Offset: 80 // float3 m_ClipMax; // Offset: 96 // float3 m_FadeScale; // Offset: 112 // float4 m_ShadowTexMask; // Offset: 128 // float4 m_PlaneRayDirection; // Offset: 144 // row_major float3x4 m_PlaneInversMatrix;// Offset: 160 // row_major float3x4 m_WorldViewInversMatrix;// Offset: 208 // row_major float4x4 m_LightMapMatrix;// Offset: 256 // row_major float4x4 m_WorldViewProjectionMatrix;// Offset: 320 // // } g_LightParam; // Offset: 0 Size: 384 // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // g_SamplerViewPosition.S sampler NA NA 0 1 // g_SamplerAttenuation.S sampler NA NA 1 1 // g_SamplerOmniShadowStatic.S sampler NA NA 2 1 // g_SamplerOmniShadowDynamic.S sampler NA NA 3 1 // g_SamplerOmniShadowIndexTable.S sampler NA NA 4 1 // g_SamplerGBuffer.S sampler NA NA 5 1 // g_SamplerViewPosition.T texture float4 2d 0 1 // g_SamplerAttenuation.T texture float4 2d 1 1 // g_SamplerOmniShadowStatic.T texture float4 2d 2 1 // g_SamplerOmniShadowDynamic.T texture float4 2d 3 1 // g_SamplerOmniShadowIndexTable.T texture float4 cube 4 1 // g_SamplerGBuffer.T texture float4 2d 5 1 // g_CommonParameter cbuffer NA NA 0 1 // g_OmniShadowParam cbuffer NA NA 1 1 // g_LightParam cbuffer NA NA 2 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 cb0[1], immediateIndexed dcl_constantbuffer cb1[17], immediateIndexed dcl_constantbuffer cb2[16], 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_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_texturecube (float,float,float,float) t4 dcl_resource_texture2d (float,float,float,float) t5 dcl_input_ps_siv linear noperspective v0.xy, position dcl_output o0.xyzw dcl_output o1.xyzw dcl_temps 7 mad r0.xy, v0.xyxx, cb0[0].xyxx, cb0[0].zwzz sample_indexable(texture2d)(float,float,float,float) r1.xyz, r0.xyxx, t0.xyzw, s0 sample_indexable(texture2d)(float,float,float,float) r0.xyzw, r0.xyxx, t5.xyzw, s5 mov r2.xyz, r1.xyzx mov r2.w, l(1.000000) dp4 r3.x, cb2[13].xyzw, r2.xyzw dp4 r3.y, cb2[14].xyzw, r2.xyzw dp4 r3.z, cb2[15].xyzw, r2.xyzw sample_indexable(texturecube)(float,float,float,float) r4.xyzw, r3.xyzx, t4.xyzw, s4 mul r5.xyzw, r4.yyyy, cb1[4].xyzw mad r5.xyzw, cb1[0].xyzw, r4.xxxx, r5.xyzw mad r5.xyzw, cb1[8].xyzw, r4.zzzz, r5.xyzw mad r5.xyzw, cb1[12].xyzw, r4.wwww, r5.xyzw dp4 r5.x, r5.xyzw, r2.xyzw mul r6.xyzw, r4.yyyy, cb1[5].xyzw mad r6.xyzw, cb1[1].xyzw, r4.xxxx, r6.xyzw mad r6.xyzw, cb1[9].xyzw, r4.zzzz, r6.xyzw mad r6.xyzw, cb1[13].xyzw, r4.wwww, r6.xyzw dp4 r5.y, r6.xyzw, r2.xyzw mul r6.xyzw, r4.yyyy, cb1[6].xyzw mad r6.xyzw, cb1[2].xyzw, r4.xxxx, r6.xyzw mad r6.xyzw, cb1[10].xyzw, r4.zzzz, r6.xyzw mad r6.xyzw, cb1[14].xyzw, r4.wwww, r6.xyzw dp4 r5.z, r6.xyzw, r2.xyzw mul r6.xyzw, r4.yyyy, cb1[7].xyzw mad r6.xyzw, cb1[3].xyzw, r4.xxxx, r6.xyzw mad r6.xyzw, cb1[11].xyzw, r4.zzzz, r6.xyzw mad r4.xyzw, cb1[15].xyzw, r4.wwww, r6.xyzw dp4 r1.w, r4.xyzw, r2.xyzw div r2.xyz, r5.xyzx, r1.wwww gather4_aoffimmi_indexable(1,1,0)(texture2d)(float,float,float,float) r4.xyzw, r2.xyxx, t2.xyzw, s2.x min r1.w, r2.z, l(1.000000) ge r4.xyzw, r4.xyzw, r1.wwww and r4.xyzw, r4.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000) gather4_aoffimmi_indexable(-1,1,0)(texture2d)(float,float,float,float) r5.xyzw, r2.xyxx, t2.xyzw, s2.x ge r5.xyzw, r5.xyzw, r1.wwww movc r2.zw, r5.xxxw, l(0,0,-1.000000,-1.000000), l(0,0,-0.000000,-0.000000) and r5.xyzw, r5.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000) add r2.zw, r2.zzzw, r4.yyyz mad r4.yz, r2.xxyx, cb1[16].xxyx, l(0.000000, -0.500000, -0.500000, 0.000000) frc r4.yz, r4.yyzy mad r2.zw, r4.yyyy, r2.zzzw, r5.xxxw add r2.zw, r5.yyyz, r2.zzzw add r2.zw, r4.xxxw, r2.zzzw gather4_aoffimmi_indexable(1,-1,0)(texture2d)(float,float,float,float) r5.xyzw, r2.xyxx, t2.xyzw, s2.x ge r5.xyzw, r5.xyzw, r1.wwww and r5.xyzw, r5.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000) gather4_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r6.xyzw, r2.xyxx, t2.xyzw, s2.x ge r6.xyzw, r6.xyzw, r1.wwww movc r4.xw, r6.wwwx, l(-1.000000,0,0,-1.000000), l(-0.000000,0,0,-0.000000) and r6.xyzw, r6.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000) add r4.xw, r4.xxxw, r5.zzzy mad r4.xw, r4.yyyy, r4.xxxw, r6.wwwx add r4.xw, r6.zzzy, r4.xxxw add r4.xw, r5.wwwx, r4.xxxw add r2.z, r2.z, -r4.x mad r2.z, r4.z, r2.z, r4.x add r2.z, r4.w, r2.z add r2.z, r2.w, r2.z mul r2.z, r2.z, l(0.111111112) gather4_aoffimmi_indexable(1,1,0)(texture2d)(float,float,float,float) r5.xyzw, r2.xyxx, t3.xyzw, s3.x ge r5.xyzw, r5.xyzw, r1.wwww and r5.xyzw, r5.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000) gather4_aoffimmi_indexable(-1,1,0)(texture2d)(float,float,float,float) r6.xyzw, r2.xyxx, t3.xyzw, s3.x ge r6.xyzw, r6.xyzw, r1.wwww movc r4.xw, r6.xxxw, l(-1.000000,0,0,-1.000000), l(-0.000000,0,0,-0.000000) and r6.xyzw, r6.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000) add r4.xw, r4.xxxw, r5.yyyz mad r4.xw, r4.yyyy, r4.xxxw, r6.xxxw add r4.xw, r6.yyyz, r4.xxxw add r4.xw, r5.xxxw, r4.xxxw gather4_aoffimmi_indexable(1,-1,0)(texture2d)(float,float,float,float) r5.xyzw, r2.xyxx, t3.xyzw, s3.x gather4_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r6.xyzw, r2.xyxx, t3.xyzw, s3.x ge r6.xyzw, r6.xyzw, r1.wwww ge r5.xyzw, r5.xyzw, r1.wwww and r5.xyzw, r5.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000) movc r2.xy, r6.wxww, l(-1.000000,-1.000000,0,0), l(-0.000000,-0.000000,0,0) and r6.xyzw, r6.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000) add r2.xy, r2.xyxx, r5.zyzz mad r2.xy, r4.yyyy, r2.xyxx, r6.wxww add r2.xy, r6.zyzz, r2.xyxx add r2.xy, r5.wxww, r2.xyxx add r1.w, -r2.x, r4.x mad r1.w, r4.z, r1.w, r2.x add r1.w, r2.y, r1.w add r1.w, r4.w, r1.w mul r1.w, r1.w, l(0.111111112) min r1.w, r1.w, r2.z ne r2.x, r1.w, r1.w movc r1.w, r2.x, l(1.000000), r1.w add r2.x, r1.w, l(-0.001000) lt r2.x, r2.x, l(0.000000) discard_nz r2.x add r2.xyz, r3.xyzx, -cb2[5].xyzx add r3.xyz, -r3.xyzx, cb2[6].xyzx lt r3.xyz, r3.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000) lt r2.xyz, r2.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000) or r2.x, r2.y, r2.x or r2.x, r2.z, r2.x discard_nz r2.x or r2.x, r3.y, r3.x or r2.x, r3.z, r2.x discard_nz r2.x dp3 r2.x, -r1.xyzx, -r1.xyzx rsq r2.x, r2.x mul r2.xyz, -r1.xyzx, r2.xxxx add r1.xyz, -r1.xyzx, cb2[0].xyzx add r0.xyz, r0.xyzx, l(-0.500000, -0.500000, -0.500000, 0.000000) max r0.w, r0.w, l(0.002000) log r0.w, r0.w mul r0.w, r0.w, l(-15.000000) dp3 r2.w, r0.xyzx, r0.xyzx rsq r2.w, r2.w mul r0.xyz, r0.xyzx, r2.wwww dp3 r2.w, -r2.xyzx, r0.xyzx add r2.w, r2.w, r2.w mad r2.xyz, r0.xyzx, -r2.wwww, -r2.xyzx dp3 r2.w, r1.xyzx, r1.xyzx rsq r3.x, r2.w mul r1.xyz, r1.xyzx, r3.xxxx div r3.x, r3.x, r2.w mul r4.x, r2.w, cb2[4].z mul r2.w, r3.x, cb2[4].w dp3_sat r2.x, r2.xyzx, r1.xyzx dp3_sat r0.x, r0.xyzx, r1.xyzx log r0.z, r2.x mul r0.z, r0.z, r0.w exp r0.z, r0.z add r0.w, -r0.x, l(1.000000) mul r0.w, r0.w, r0.w mad r0.w, r0.w, l(-3.000000), l(3.000000) min r0.w, r0.w, l(1.000000) mul r0.y, r0.w, r0.z mov r4.y, l(0) sample_indexable(texture2d)(float,float,float,float) r0.z, r4.xyxx, t1.yzxw, s1 mul_sat r0.z, r0.z, r2.w mul r0.xy, r0.zzzz, r0.xyxx mul r0.xy, r1.wwww, r0.xyxx mul o0.xyz, r0.xxxx, cb2[2].xyzx mov o0.w, r0.x mul o1.xyz, r0.yyyy, cb2[3].xyzx mov o1.w, r0.y ret // Approximately 143 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code]
---------------------------------------------------------------- BEGIN ---------------------------------------------
C:\Program Files (x86)\SquareEnix\FINAL FANTASY XIV - A Realm Reborn\game\ShaderFixes\1f1708d36747ce28-vs_replace.txt(29,14-15): warning X3578: Output value 'o2' is not completely initialized
--------------------------- END ----------------------------------------------
shader successfully replaced.

this is the code:

// ---- Created with 3Dmigoto v1.2.43 on Wed Aug 24 01:08:09 2016
//Nameplate and chatboxed to depth... The_Nephilim
cbuffer g_ProjectionMatrix : register(b0)
{
row_major float4x4 g_ProjectionMatrix : packoffset(c0);
}

cbuffer g_TextureParam : register(b1)
{
float2 g_TextureParam : packoffset(c0);
}



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


void main(
float4 v0 : POSITION0,
float4 v1 : COLOR0,
int4 v2 : TEXCOORD0,
int4 v3 : TEXCOORD1,
int4 v4 : TEXCOORD2,
out float4 o0 : SV_POSITION0,
out float4 o1 : COLOR0,
out float4 o2 : TEXCOORD0,
out float4 o3 : TEXCOORD1,
out float4 o4 : TEXCOORD2)
{
float4 r0;
uint4 bitmask, uiDest;
float4 fDest;

o0.x = dot(g_ProjectionMatrix._m00_m01_m02_m03, v0.xyzw);
o0.y = dot(g_ProjectionMatrix._m10_m11_m12_m13, v0.xyzw);
o0.z = dot(g_ProjectionMatrix._m20_m21_m22_m23, v0.xyzw);
o0.w = dot(g_ProjectionMatrix._m30_m31_m32_m33, v0.xyzw);
o1.xyzw = v1.xyzw;
r0.xy = (int2)v2.xy;
o2.xy = r0.xy / g_TextureParam.xy;
r0.xyz = (int3)v3.xyz;
o3.xyz = float3(0.00999999978,0.00999999978,0.00999999978) * r0.xyz;
o3.w = 1;
r0.xyz = (int3)v4.xyz;
o4.xyz = float3(0.00392156886,0.00392156886,0.00392156886) * r0.xyz;
o4.w = 0;
// Nameplates/chatboxes convergance
float4 params = IniParams.Load(0);
float4 stereo = StereoParams.Load(0);
o0.x+=stereo.x*params.z;
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// using 3Dmigoto v1.2.43 on Wed Aug 24 01:08:09 2016
//
//
// Buffer Definitions:
//
// cbuffer g_ProjectionMatrix
// {
//
// row_major float4x4 g_ProjectionMatrix;// Offset: 0 Size: 64
//
// }
//
// cbuffer g_TextureParam
// {
//
// float2 g_TextureParam; // Offset: 0 Size: 8
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// g_ProjectionMatrix cbuffer NA NA 0 1
// g_TextureParam cbuffer NA NA 1 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION 0 xyzw 0 NONE float xyzw
// COLOR 0 xyzw 1 NONE float xyzw
// TEXCOORD 0 xy 2 NONE int xy
// TEXCOORD 1 xyzw 3 NONE int xyz
// TEXCOORD 2 xyzw 4 NONE int xyz
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION 0 xyzw 0 POS float xyzw
// COLOR 0 xyzw 1 NONE float xyzw
// TEXCOORD 0 xy 2 NONE float xy
// TEXCOORD 1 xyzw 3 NONE float xyzw
// TEXCOORD 2 xyzw 4 NONE float xyzw
//
vs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[4], immediateIndexed
dcl_constantbuffer cb1[1], immediateIndexed
dcl_input v0.xyzw
dcl_input v1.xyzw
dcl_input v2.xy
dcl_input v3.xyz
dcl_input v4.xyz
dcl_output_siv o0.xyzw, position
dcl_output o1.xyzw
dcl_output o2.xy
dcl_output o3.xyzw
dcl_output o4.xyzw
dcl_temps 1
dp4 o0.x, cb0[0].xyzw, v0.xyzw
dp4 o0.y, cb0[1].xyzw, v0.xyzw
dp4 o0.z, cb0[2].xyzw, v0.xyzw
dp4 o0.w, cb0[3].xyzw, v0.xyzw
mov o1.xyzw, v1.xyzw
itof r0.xy, v2.xyxx
div o2.xy, r0.xyxx, cb1[0].xyxx
itof r0.xyz, v3.xyzx
mul o3.xyz, r0.xyzx, l(0.010000, 0.010000, 0.010000, 0.000000)
mov o3.w, l(1.000000)
itof r0.xyz, v4.xyzx
mul o4.xyz, r0.xyzx, l(0.00392156886, 0.00392156886, 0.00392156886, 0.000000)
mov o4.w, l(0)
ret
// Approximately 14 instruction slots used

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




this is the 2nd one:


C:\Program Files (x86)\SquareEnix\FINAL FANTASY XIV - A Realm Reborn\game\ShaderFixes\10c490cec21afcc6-ps_replace.txt(3,23): error X3000: syntax error: unexpected token '.'

// ---- Created with 3Dmigoto v1.2.43 on Sun Aug 28 20:00:00 2016

SamplerState g_Texture.S_s : register(s0);
Texture2D<float4> g_Texture.T : register(t0);


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


void main(
float4 v0 : SV_POSITION0,
float4 v1 : COLOR0,
float4 v2 : COLOR1,
float2 v3 : TEXCOORD0,
float2 w3 : TEXCOORD1,
float4 v4 : TEXCOORD2,
float4 v5 : TEXCOORD3,
out float4 o0 : SV_TARGET0)
{
float4 r0,r1,r2,r3;
uint4 bitmask, uiDest;
float4 fDest;

r0.x = -v5.x + v3.x;
r0.yw = v3.yy;
r1.xy = cmp(r0.xy >= w3.xy);
r1.zw = cmp(v4.xy >= r0.xy);
r1.xyzw = r1.xyzw ? float4(1,1,1,1) : 0;
r1.xy = r1.xy * r1.zw;
r2.xyzw = g_Texture.T.Sample(g_Texture.S_s, r0.xy).xyzw;
r0.z = v5.y + r0.x;
r0.x = dot(r2.xyzw, v2.xyzw);
r0.x = r0.x * r1.x;
r1.xz = cmp(r0.zw >= w3.xy);
r1.xz = r1.xz ? float2(1,1) : 0;
r2.xy = cmp(v4.xy >= r0.zw);
r2.xy = r2.xy ? float2(1,1) : 0;
r1.xz = r2.xy * r1.xz;
r2.xyzw = g_Texture.T.Sample(g_Texture.S_s, r0.zw).xyzw;
r3.xy = -v5.xx + r0.zw;
r0.y = dot(r2.xyzw, v2.xyzw);
r0.y = r0.y * r1.x;
r0.y = r0.y * r1.z;
r0.x = r0.x * r1.y + r0.y;
r0.yz = cmp(r3.xy >= w3.xy);
r0.yz = r0.yz ? float2(1,1) : 0;
r1.xy = cmp(v4.xy >= r3.xy);
r1.xy = r1.xy ? float2(1,1) : 0;
r0.yz = r1.xy * r0.yz;
r1.xyzw = g_Texture.T.Sample(g_Texture.S_s, r3.xy).xyzw;
r0.w = dot(r1.xyzw, v2.xyzw);
r0.y = r0.w * r0.y;
r0.x = r0.y * r0.z + r0.x;
r3.z = v5.y + r3.y;
r0.yz = cmp(r3.xz >= w3.xy);
r0.yz = r0.yz ? float2(1,1) : 0;
r1.xy = cmp(v4.xy >= r3.xz);
r1.xy = r1.xy ? float2(1,1) : 0;
r0.yz = r1.xy * r0.yz;
r1.xyzw = g_Texture.T.Sample(g_Texture.S_s, r3.xz).xyzw;
r2.yz = -v5.xy + r3.xz;
r0.w = dot(r1.xyzw, v2.xyzw);
r0.y = r0.w * r0.y;
r0.x = r0.y * r0.z + r0.x;
r2.x = -v5.z + r2.y;
r0.yz = cmp(r2.xz >= w3.xy);
r0.yz = r0.yz ? float2(1,1) : 0;
r1.xy = cmp(v4.xy >= r2.xz);
r1.xy = r1.xy ? float2(1,1) : 0;
r0.yz = r1.xy * r0.yz;
r1.xyzw = g_Texture.T.Sample(g_Texture.S_s, r2.xz).xyzw;
r2.yz = v5.zw + r2.xz;
r0.w = dot(r1.xyzw, v2.xyzw);
r0.y = r0.w * r0.y;
r0.x = r0.y * r0.z + r0.x;
r0.yz = cmp(r2.yz >= w3.xy);
r0.yz = r0.yz ? float2(1,1) : 0;
r1.xy = cmp(v4.xy >= r2.yz);
r1.xy = r1.xy ? float2(1,1) : 0;
r0.yz = r1.xy * r0.yz;
r1.xyzw = g_Texture.T.Sample(g_Texture.S_s, r2.yz).xyzw;
r0.w = dot(r1.xyzw, v2.xyzw);
r0.y = r0.w * r0.y;
r0.x = r0.y * r0.z + r0.x;
r2.x = v5.y + r2.y;
r0.yz = cmp(r2.xz >= w3.xy);
r0.yz = r0.yz ? float2(1,1) : 0;
r1.xy = cmp(v4.xy >= r2.xz);
r1.xy = r1.xy ? float2(1,1) : 0;
r0.yz = r1.xy * r0.yz;
r1.xyzw = g_Texture.T.Sample(g_Texture.S_s, r2.xz).xyzw;
r2.xy = v5.zz + r2.xz;
r0.w = dot(r1.xyzw, v2.xyzw);
r0.y = r0.w * r0.y;
r0.x = r0.y * r0.z + r0.x;
r0.yz = cmp(r2.xy >= w3.xy);
r0.yz = r0.yz ? float2(1,1) : 0;
r1.xy = cmp(v4.xy >= r2.xy);
r1.xy = r1.xy ? float2(1,1) : 0;
r0.yz = r1.xy * r0.yz;
r1.xyzw = g_Texture.T.Sample(g_Texture.S_s, r2.xy).xyzw;
r0.w = dot(r1.xyzw, v2.xyzw);
r0.y = r0.w * r0.y;
r0.x = r0.y * r0.z + r0.x;
r2.z = v5.y + r2.y;
r0.yz = cmp(r2.xz >= w3.xy);
r0.yz = r0.yz ? float2(1,1) : 0;
r1.xy = cmp(v4.xy >= r2.xz);
r1.xy = r1.xy ? float2(1,1) : 0;
r0.yz = r1.xy * r0.yz;
r1.xyzw = g_Texture.T.Sample(g_Texture.S_s, r2.xz).xyzw;
r2.yz = -v5.zw + r2.xz;
r0.w = dot(r1.xyzw, v2.xyzw);
r0.y = r0.w * r0.y;
r0.x = r0.y * r0.z + r0.x;
r0.yz = cmp(r2.yz >= w3.xy);
r0.yz = r0.yz ? float2(1,1) : 0;
r1.xy = cmp(v4.xy >= r2.yz);
r1.xy = r1.xy ? float2(1,1) : 0;
r0.yz = r1.xy * r0.yz;
r1.xyzw = g_Texture.T.Sample(g_Texture.S_s, r2.yz).xyzw;
r0.w = dot(r1.xyzw, v2.xyzw);
r0.y = r0.w * r0.y;
r0.x = r0.y * r0.z + r0.x;
r2.x = -v5.y + r2.y;
r0.yz = cmp(r2.xz >= w3.xy);
r0.yz = r0.yz ? float2(1,1) : 0;
r1.xy = cmp(v4.xy >= r2.xz);
r1.xy = r1.xy ? float2(1,1) : 0;
r0.yz = r1.xy * r0.yz;
r1.xyzw = g_Texture.T.Sample(g_Texture.S_s, r2.xz).xyzw;
r2.xy = -v5.zz + r2.xz;
r0.w = dot(r1.xyzw, v2.xyzw);
r0.y = r0.w * r0.y;
r0.x = r0.y * r0.z + r0.x;
r0.yz = cmp(r2.xy >= w3.xy);
r0.yz = r0.yz ? float2(1,1) : 0;
r1.xy = cmp(v4.xy >= r2.xy);
r2.xyzw = g_Texture.T.Sample(g_Texture.S_s, r2.xy).xyzw;
r0.w = dot(r2.xyzw, v2.xyzw);
r1.xy = r1.xy ? float2(1,1) : 0;
r0.yz = r1.xy * r0.yz;
r0.y = r0.w * r0.y;
r0.x = r0.y * r0.z + r0.x;
r0.x = 0.200000003 * r0.x;
r0.x = min(1, r0.x);
o0.w = v1.w * r0.x;
o0.xyz = v1.xyz;
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// using 3Dmigoto v1.2.43 on Sun Aug 28 20:00:00 2016
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// g_Texture.S sampler NA NA 0 1
// g_Texture.T texture float4 2d 0 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION 0 xyzw 0 POS float
// COLOR 0 xyzw 1 NONE float xyzw
// COLOR 1 xyzw 2 NONE float xyzw
// TEXCOORD 0 xy 3 NONE float xy
// TEXCOORD 1 zw 3 NONE float zw
// TEXCOORD 2 xy 4 NONE float xy
// TEXCOORD 3 xyzw 5 NONE float xyzw
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_TARGET 0 xyzw 0 TARGET float xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_input_ps linear v1.xyzw
dcl_input_ps linear v2.xyzw
dcl_input_ps linear v3.xy
dcl_input_ps linear v3.zw
dcl_input_ps linear v4.xy
dcl_input_ps linear v5.xyzw
dcl_output o0.xyzw
dcl_temps 4
add r0.x, v3.x, -v5.x
mov r0.yw, v3.yyyy
ge r1.xy, r0.xyxx, v3.zwzz
ge r1.zw, v4.xxxy, r0.xxxy
and r1.xyzw, r1.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000)
mul r1.xy, r1.zwzz, r1.xyxx
sample_indexable(texture2d)(float,float,float,float) r2.xyzw, r0.xyxx, t0.xyzw, s0
add r0.z, r0.x, v5.y
dp4 r0.x, r2.xyzw, v2.xyzw
mul r0.x, r1.x, r0.x
ge r1.xz, r0.zzwz, v3.zzwz
and r1.xz, r1.xxzx, l(0x3f800000, 0, 0x3f800000, 0)
ge r2.xy, v4.xyxx, r0.zwzz
and r2.xy, r2.xyxx, l(0x3f800000, 0x3f800000, 0, 0)
mul r1.xz, r1.xxzx, r2.xxyx
sample_indexable(texture2d)(float,float,float,float) r2.xyzw, r0.zwzz, t0.xyzw, s0
add r3.xy, r0.zwzz, -v5.xxxx
dp4 r0.y, r2.xyzw, v2.xyzw
mul r0.y, r1.x, r0.y
mul r0.y, r1.z, r0.y
mad r0.x, r0.x, r1.y, r0.y
ge r0.yz, r3.xxyx, v3.zzwz
and r0.yz, r0.yyzy, l(0, 0x3f800000, 0x3f800000, 0)
ge r1.xy, v4.xyxx, r3.xyxx
and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0)
mul r0.yz, r0.yyzy, r1.xxyx
sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r3.xyxx, t0.xyzw, s0
dp4 r0.w, r1.xyzw, v2.xyzw
mul r0.y, r0.y, r0.w
mad r0.x, r0.y, r0.z, r0.x
add r3.z, r3.y, v5.y
ge r0.yz, r3.xxzx, v3.zzwz
and r0.yz, r0.yyzy, l(0, 0x3f800000, 0x3f800000, 0)
ge r1.xy, v4.xyxx, r3.xzxx
and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0)
mul r0.yz, r0.yyzy, r1.xxyx
sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r3.xzxx, t0.xyzw, s0
add r2.yz, r3.xxzx, -v5.xxyx
dp4 r0.w, r1.xyzw, v2.xyzw
mul r0.y, r0.y, r0.w
mad r0.x, r0.y, r0.z, r0.x
add r2.x, r2.y, -v5.z
ge r0.yz, r2.xxzx, v3.zzwz
and r0.yz, r0.yyzy, l(0, 0x3f800000, 0x3f800000, 0)
ge r1.xy, v4.xyxx, r2.xzxx
and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0)
mul r0.yz, r0.yyzy, r1.xxyx
sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r2.xzxx, t0.xyzw, s0
add r2.yz, r2.xxzx, v5.zzwz
dp4 r0.w, r1.xyzw, v2.xyzw
mul r0.y, r0.y, r0.w
mad r0.x, r0.y, r0.z, r0.x
ge r0.yz, r2.yyzy, v3.zzwz
and r0.yz, r0.yyzy, l(0, 0x3f800000, 0x3f800000, 0)
ge r1.xy, v4.xyxx, r2.yzyy
and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0)
mul r0.yz, r0.yyzy, r1.xxyx
sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r2.yzyy, t0.xyzw, s0
dp4 r0.w, r1.xyzw, v2.xyzw
mul r0.y, r0.y, r0.w
mad r0.x, r0.y, r0.z, r0.x
add r2.x, r2.y, v5.y
ge r0.yz, r2.xxzx, v3.zzwz
and r0.yz, r0.yyzy, l(0, 0x3f800000, 0x3f800000, 0)
ge r1.xy, v4.xyxx, r2.xzxx
and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0)
mul r0.yz, r0.yyzy, r1.xxyx
sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r2.xzxx, t0.xyzw, s0
add r2.xy, r2.xzxx, v5.zzzz
dp4 r0.w, r1.xyzw, v2.xyzw
mul r0.y, r0.y, r0.w
mad r0.x, r0.y, r0.z, r0.x
ge r0.yz, r2.xxyx, v3.zzwz
and r0.yz, r0.yyzy, l(0, 0x3f800000, 0x3f800000, 0)
ge r1.xy, v4.xyxx, r2.xyxx
and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0)
mul r0.yz, r0.yyzy, r1.xxyx
sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r2.xyxx, t0.xyzw, s0
dp4 r0.w, r1.xyzw, v2.xyzw
mul r0.y, r0.y, r0.w
mad r0.x, r0.y, r0.z, r0.x
add r2.z, r2.y, v5.y
ge r0.yz, r2.xxzx, v3.zzwz
and r0.yz, r0.yyzy, l(0, 0x3f800000, 0x3f800000, 0)
ge r1.xy, v4.xyxx, r2.xzxx
and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0)
mul r0.yz, r0.yyzy, r1.xxyx
sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r2.xzxx, t0.xyzw, s0
add r2.yz, r2.xxzx, -v5.zzwz
dp4 r0.w, r1.xyzw, v2.xyzw
mul r0.y, r0.y, r0.w
mad r0.x, r0.y, r0.z, r0.x
ge r0.yz, r2.yyzy, v3.zzwz
and r0.yz, r0.yyzy, l(0, 0x3f800000, 0x3f800000, 0)
ge r1.xy, v4.xyxx, r2.yzyy
and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0)
mul r0.yz, r0.yyzy, r1.xxyx
sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r2.yzyy, t0.xyzw, s0
dp4 r0.w, r1.xyzw, v2.xyzw
mul r0.y, r0.y, r0.w
mad r0.x, r0.y, r0.z, r0.x
add r2.x, r2.y, -v5.y
ge r0.yz, r2.xxzx, v3.zzwz
and r0.yz, r0.yyzy, l(0, 0x3f800000, 0x3f800000, 0)
ge r1.xy, v4.xyxx, r2.xzxx
and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0)
mul r0.yz, r0.yyzy, r1.xxyx
sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r2.xzxx, t0.xyzw, s0
add r2.xy, r2.xzxx, -v5.zzzz
dp4 r0.w, r1.xyzw, v2.xyzw
mul r0.y, r0.y, r0.w
mad r0.x, r0.y, r0.z, r0.x
ge r0.yz, r2.xxyx, v3.zzwz
and r0.yz, r0.yyzy, l(0, 0x3f800000, 0x3f800000, 0)
ge r1.xy, v4.xyxx, r2.xyxx
sample_indexable(texture2d)(float,float,float,float) r2.xyzw, r2.xyxx, t0.xyzw, s0
dp4 r0.w, r2.xyzw, v2.xyzw
and r1.xy, r1.xyxx, l(0x3f800000, 0x3f800000, 0, 0)
mul r0.yz, r0.yyzy, r1.xxyx
mul r0.y, r0.y, r0.w
mad r0.x, r0.y, r0.z, r0.x
mul r0.x, r0.x, l(0.200000)
min r0.x, r0.x, l(1.000000)
mul o0.w, r0.x, v1.w
mov o0.xyz, v1.xyzx
ret
// Approximately 126 instruction slots used

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



C:\Program Files (x86)\SquareEnix\FINAL FANTASY XIV - A Realm Reborn\game\ShaderFixes\0ecaaa3a296cc862-ps_replace.txt(39,35): error X3000: syntax error: unexpected token '.'

// ---- Created with 3Dmigoto v1.2.43 on Sun Aug 28 12:20:04 2016

cbuffer g_CommonParameter : register(b0)
{

struct
{
float4 m_RenderTarget;
float4 m_Viewport;
float4 m_Misc;
float4 m_Misc2;
} g_CommonParameter : packoffset(c0);

}

cbuffer g_LightParam : register(b1)
{

struct
{
float3 m_Position;
float3 m_Direction;
float3 m_DiffuseColor;
float3 m_SpecularColor;
float4 m_Attenuation;
float4 m_ClipMin;
float3 m_ClipMax;
float3 m_FadeScale;
float4 m_ShadowTexMask;
float4 m_PlaneRayDirection;
row_major float3x4 m_PlaneInversMatrix;
row_major float3x4 m_WorldViewInversMatrix;
row_major float4x4 m_LightMapMatrix;
row_major float4x4 m_WorldViewProjectionMatrix;
} g_LightParam : packoffset(c0);

}

SamplerState g_SamplerViewPosition.S_s : register(s0);
SamplerState g_SamplerAttenuation.S_s : register(s1);
SamplerState g_SamplerGBuffer.S_s : register(s2);
Texture2D<float4> g_SamplerViewPosition.T : register(t0);
Texture2D<float4> g_SamplerAttenuation.T : register(t1);
Texture2D<float4> g_SamplerGBuffer.T : register(t2);


// 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;
uint4 bitmask, uiDest;
float4 fDest;

r0.w = 1;
r1.xy = v0.xy * g_CommonParameter.m_RenderTarget.xy + g_CommonParameter.m_RenderTarget.zw;
r2.xyz = g_SamplerViewPosition.T.Sample(g_SamplerViewPosition.S_s, r1.xy).xyz;
r1.xyzw = g_SamplerGBuffer.T.Sample(g_SamplerGBuffer.S_s, r1.xy).xyzw;
r0.xyz = r2.xyz;
r3.x = dot(g_LightParam.g_LightParam.m_WorldViewInversMatrix._m00_m01_m02_m03, r0.xyzw);
r3.y = dot(g_LightParam.m_WorldViewInversMatrix._m10_m11_m12_m13, r0.xyzw);
r3.z = dot(g_LightParam.m_WorldViewInversMatrix._m20_m21_m22_m23, r0.xyzw);
r0.xyz = -g_LightParam.m_ClipMin.xyz + r3.xyz;
r3.xyz = g_LightParam.m_ClipMax.xyz + -r3.xyz;
r3.xyz = cmp(r3.xyz < float3(0,0,0));
r0.xyz = cmp(r0.xyz < float3(0,0,0));
r0.x = (int)r0.y | (int)r0.x;
r0.x = (int)r0.z | (int)r0.x;
if (r0.x != 0) discard;
r0.x = (int)r3.y | (int)r3.x;
r0.x = (int)r3.z | (int)r0.x;
if (r0.x != 0) discard;
r0.x = dot(-r2.xyz, -r2.xyz);
r0.x = rsqrt(r0.x);
r0.xyz = -r2.xyz * r0.xxx;
r2.xyz = g_LightParam.m_Position.xyz + -r2.xyz;
r1.xyz = float3(-0.5,-0.5,-0.5) + r1.xyz;
r0.w = max(0.00200000009, r1.w);
r0.w = log2(r0.w);
r0.w = -15 * r0.w;
r1.w = dot(r1.xyz, r1.xyz);
r1.w = rsqrt(r1.w);
r1.xyz = r1.xyz * r1.www;
r1.w = dot(-r0.xyz, r1.xyz);
r1.w = r1.w + r1.w;
r0.xyz = r1.xyz * -r1.www + -r0.xyz;
r1.w = dot(r2.xyz, r2.xyz);
r2.w = rsqrt(r1.w);
r2.xyz = r2.xyz * r2.www;
r2.w = r2.w / r1.w;
r3.x = g_LightParam.m_Attenuation.z * r1.w;
r1.w = g_LightParam.m_Attenuation.w * r2.w;
r0.x = saturate(dot(r0.xyz, r2.xyz));
r1.x = saturate(dot(r1.xyz, r2.xyz));
r0.x = log2(r0.x);
r0.x = r0.w * r0.x;
r0.x = exp2(r0.x);
r0.y = 1 + -r1.x;
r0.y = r0.y * r0.y;
r0.y = r0.y * -3 + 3;
r0.y = min(1, r0.y);
r1.y = r0.x * r0.y;
r3.y = 0;
r0.x = g_SamplerAttenuation.T.Sample(g_SamplerAttenuation.S_s, r3.xy).x;
r0.x = saturate(r1.w * r0.x);
r0.xy = r1.xy * r0.xx;
o0.xyz = g_LightParam.m_DiffuseColor.xyz * r0.xxx;
o0.w = r0.x;
o1.xyz = g_LightParam.m_SpecularColor.xyz * r0.yyy;
o1.w = r0.y;
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// using 3Dmigoto v1.2.43 on Sun Aug 28 12:20:04 2016
//
//
// Buffer Definitions:
//
// cbuffer g_CommonParameter
// {
//
// struct CommonParameter
// {
//
// float4 m_RenderTarget; // Offset: 0
// float4 m_Viewport; // Offset: 16
// float4 m_Misc; // Offset: 32
// float4 m_Misc2; // Offset: 48
//
// } g_CommonParameter; // Offset: 0 Size: 64
//
// }
//
// cbuffer g_LightParam
// {
//
// struct LightParam
// {
//
// float3 m_Position; // Offset: 0
// float3 m_Direction; // Offset: 16
// float3 m_DiffuseColor; // Offset: 32
// float3 m_SpecularColor; // Offset: 48
// float4 m_Attenuation; // Offset: 64
// float4 m_ClipMin; // Offset: 80
// float3 m_ClipMax; // Offset: 96
// float3 m_FadeScale; // Offset: 112
// float4 m_ShadowTexMask; // Offset: 128
// float4 m_PlaneRayDirection; // Offset: 144
// row_major float3x4 m_PlaneInversMatrix;// Offset: 160
// row_major float3x4 m_WorldViewInversMatrix;// Offset: 208
// row_major float4x4 m_LightMapMatrix;// Offset: 256
// row_major float4x4 m_WorldViewProjectionMatrix;// Offset: 320
//
// } g_LightParam; // Offset: 0 Size: 384
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// g_SamplerViewPosition.S sampler NA NA 0 1
// g_SamplerAttenuation.S sampler NA NA 1 1
// g_SamplerGBuffer.S sampler NA NA 2 1
// g_SamplerViewPosition.T texture float4 2d 0 1
// g_SamplerAttenuation.T texture float4 2d 1 1
// g_SamplerGBuffer.T texture float4 2d 2 1
// g_CommonParameter cbuffer NA NA 0 1
// g_LightParam cbuffer NA NA 1 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 cb0[1], immediateIndexed
dcl_constantbuffer cb1[16], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, 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_input_ps_siv linear noperspective v0.xy, position
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_temps 4
mov r0.w, l(1.000000)
mad r1.xy, v0.xyxx, cb0[0].xyxx, cb0[0].zwzz
sample_indexable(texture2d)(float,float,float,float) r2.xyz, r1.xyxx, t0.xyzw, s0
sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r1.xyxx, t2.xyzw, s2
mov r0.xyz, r2.xyzx
dp4 r3.x, cb1[13].xyzw, r0.xyzw
dp4 r3.y, cb1[14].xyzw, r0.xyzw
dp4 r3.z, cb1[15].xyzw, r0.xyzw
add r0.xyz, r3.xyzx, -cb1[5].xyzx
add r3.xyz, -r3.xyzx, cb1[6].xyzx
lt r3.xyz, r3.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
lt r0.xyz, r0.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
or r0.x, r0.y, r0.x
or r0.x, r0.z, r0.x
discard_nz r0.x
or r0.x, r3.y, r3.x
or r0.x, r3.z, r0.x
discard_nz r0.x
dp3 r0.x, -r2.xyzx, -r2.xyzx
rsq r0.x, r0.x
mul r0.xyz, r0.xxxx, -r2.xyzx
add r2.xyz, -r2.xyzx, cb1[0].xyzx
add r1.xyz, r1.xyzx, l(-0.500000, -0.500000, -0.500000, 0.000000)
max r0.w, r1.w, l(0.002000)
log r0.w, r0.w
mul r0.w, r0.w, l(-15.000000)
dp3 r1.w, r1.xyzx, r1.xyzx
rsq r1.w, r1.w
mul r1.xyz, r1.wwww, r1.xyzx
dp3 r1.w, -r0.xyzx, r1.xyzx
add r1.w, r1.w, r1.w
mad r0.xyz, r1.xyzx, -r1.wwww, -r0.xyzx
dp3 r1.w, r2.xyzx, r2.xyzx
rsq r2.w, r1.w
mul r2.xyz, r2.wwww, r2.xyzx
div r2.w, r2.w, r1.w
mul r3.x, r1.w, cb1[4].z
mul r1.w, r2.w, cb1[4].w
dp3_sat r0.x, r0.xyzx, r2.xyzx
dp3_sat r1.x, r1.xyzx, r2.xyzx
log r0.x, r0.x
mul r0.x, r0.x, r0.w
exp r0.x, r0.x
add r0.y, -r1.x, l(1.000000)
mul r0.y, r0.y, r0.y
mad r0.y, r0.y, l(-3.000000), l(3.000000)
min r0.y, r0.y, l(1.000000)
mul r1.y, r0.y, r0.x
mov r3.y, l(0)
sample_indexable(texture2d)(float,float,float,float) r0.x, r3.xyxx, t1.xyzw, s1
mul_sat r0.x, r0.x, r1.w
mul r0.xy, r0.xxxx, r1.xyxx
mul o0.xyz, r0.xxxx, cb1[2].xyzx
mov o0.w, r0.x
mul o1.xyz, r0.yyyy, cb1[3].xyzx
mov o1.w, r0.y
ret
// Approximately 57 instruction slots used

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



C:\Program Files (x86)\SquareEnix\FINAL FANTASY XIV - A Realm Reborn\game\ShaderFixes\372c6628a1634513-ps_replace.txt(50,35): error X3000: syntax error: unexpected token '.'


// ---- Created with 3Dmigoto v1.2.43 on Sun Aug 28 12:29:09 2016

cbuffer g_CommonParameter : register(b0)
{

struct
{
float4 m_RenderTarget;
float4 m_Viewport;
float4 m_Misc;
float4 m_Misc2;
} g_CommonParameter : packoffset(c0);

}

cbuffer g_OmniShadowParam : register(b1)
{

struct
{
row_major float4x4 m_ViewProjectionMatrix[4];
float4 m_Resolution;
} g_OmniShadowParam : packoffset(c0);

}

cbuffer g_LightParam : register(b2)
{

struct
{
float3 m_Position;
float3 m_Direction;
float3 m_DiffuseColor;
float3 m_SpecularColor;
float4 m_Attenuation;
float4 m_ClipMin;
float3 m_ClipMax;
float3 m_FadeScale;
float4 m_ShadowTexMask;
float4 m_PlaneRayDirection;
row_major float3x4 m_PlaneInversMatrix;
row_major float3x4 m_WorldViewInversMatrix;
row_major float4x4 m_LightMapMatrix;
row_major float4x4 m_WorldViewProjectionMatrix;
} g_LightParam : packoffset(c0);

}

SamplerState g_SamplerViewPosition.S_s : register(s0);
SamplerState g_SamplerAttenuation.S_s : register(s1);
SamplerState g_SamplerOmniShadowStatic.S_s : register(s2);
SamplerState g_SamplerOmniShadowDynamic.S_s : register(s3);
SamplerState g_SamplerOmniShadowIndexTable.S_s : register(s4);
SamplerState g_SamplerGBuffer.S_s : register(s5);
Texture2D<float4> g_SamplerViewPosition.T : register(t0);
Texture2D<float4> g_SamplerAttenuation.T : register(t1);
Texture2D<float4> g_SamplerOmniShadowStatic.T : register(t2);
Texture2D<float4> g_SamplerOmniShadowDynamic.T : register(t3);
TextureCube<float4> g_SamplerOmniShadowIndexTable.T : register(t4);
Texture2D<float4> g_SamplerGBuffer.T : register(t5);


// 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;
uint4 bitmask, uiDest;
float4 fDest;

r0.xy = v0.xy * g_CommonParameter.m_RenderTarget.xy + g_CommonParameter.m_RenderTarget.zw;
r1.xyz = g_SamplerViewPosition.T.Sample(g_SamplerViewPosition.S_s, r0.xy).xyz;
r0.xyzw = g_SamplerGBuffer.T.Sample(g_SamplerGBuffer.S_s, r0.xy).xyzw;
r2.xyz = r1.xyz;
r2.w = 1;
r3.x = dot(g_LightParam.g_LightParam.m_WorldViewInversMatrix._m00_m01_m02_m03, r2.xyzw);
r3.y = dot(g_LightParam.m_WorldViewInversMatrix._m10_m11_m12_m13, r2.xyzw);
r3.z = dot(g_LightParam.m_WorldViewInversMatrix._m20_m21_m22_m23, r2.xyzw);
r4.xyzw = g_SamplerOmniShadowIndexTable.T.Sample(g_SamplerOmniShadowIndexTable.S_s, r3.xyz).xyzw;
r5.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[1]._m00_m01_m02_m03 * r4.yyyy;
r5.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[0]._m00_m01_m02_m03 * r4.xxxx + r5.xyzw;
r5.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[2]._m00_m01_m02_m03 * r4.zzzz + r5.xyzw;
r5.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[3]._m00_m01_m02_m03 * r4.wwww + r5.xyzw;
r5.x = dot(r5.xyzw, r2.xyzw);
r6.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[1]._m10_m11_m12_m13 * r4.yyyy;
r6.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[0]._m10_m11_m12_m13 * r4.xxxx + r6.xyzw;
r6.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[2]._m10_m11_m12_m13 * r4.zzzz + r6.xyzw;
r6.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[3]._m10_m11_m12_m13 * r4.wwww + r6.xyzw;
r5.y = dot(r6.xyzw, r2.xyzw);
r6.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[1]._m20_m21_m22_m23 * r4.yyyy;
r6.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[0]._m20_m21_m22_m23 * r4.xxxx + r6.xyzw;
r6.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[2]._m20_m21_m22_m23 * r4.zzzz + r6.xyzw;
r6.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[3]._m20_m21_m22_m23 * r4.wwww + r6.xyzw;
r5.z = dot(r6.xyzw, r2.xyzw);
r6.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[1]._m30_m31_m32_m33 * r4.yyyy;
r6.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[0]._m30_m31_m32_m33 * r4.xxxx + r6.xyzw;
r6.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[2]._m30_m31_m32_m33 * r4.zzzz + r6.xyzw;
r4.xyzw = g_OmniShadowParam.m_ViewProjectionMatrix[3]._m30_m31_m32_m33 * r4.wwww + r6.xyzw;
r1.w = dot(r4.xyzw, r2.xyzw);
r2.xyz = r5.xyz / r1.www;
r4.xyzw = g_SamplerOmniShadowStatic.T.Gather(g_SamplerOmniShadowStatic.S_s, r2.xy, int2(1, 1)).xyzw;
r1.w = min(1, r2.z);
r4.xyzw = cmp(r4.xyzw >= r1.wwww);
r4.xyzw = r4.xyzw ? float4(1,1,1,1) : 0;
r5.xyzw = g_SamplerOmniShadowStatic.T.Gather(g_SamplerOmniShadowStatic.S_s, r2.xy, int2(-1, 1)).xyzw;
r5.xyzw = cmp(r5.xyzw >= r1.wwww);
r2.zw = r5.xw ? float2(-1,-1) : float2(-0,-0);
r5.xyzw = r5.xyzw ? float4(1,1,1,1) : 0;
r2.zw = r4.yz + r2.zw;
r4.yz = r2.xy * g_OmniShadowParam.m_Resolution.xy + float2(-0.5,-0.5);
r4.yz = frac(r4.yz);
r2.zw = r4.yy * r2.zw + r5.xw;
r2.zw = r2.zw + r5.yz;
r2.zw = r2.zw + r4.xw;
r5.xyzw = g_SamplerOmniShadowStatic.T.Gather(g_SamplerOmniShadowStatic.S_s, r2.xy, int2(1, -1)).xyzw;
r5.xyzw = cmp(r5.xyzw >= r1.wwww);
r5.xyzw = r5.xyzw ? float4(1,1,1,1) : 0;
r6.xyzw = g_SamplerOmniShadowStatic.T.Gather(g_SamplerOmniShadowStatic.S_s, r2.xy, int2(-1, -1)).xyzw;
r6.xyzw = cmp(r6.xyzw >= r1.wwww);
r4.xw = r6.wx ? float2(-1,-1) : float2(-0,-0);
r6.xyzw = r6.xyzw ? float4(1,1,1,1) : 0;
r4.xw = r5.zy + r4.xw;
r4.xw = r4.yy * r4.xw + r6.wx;
r4.xw = r4.xw + r6.zy;
r4.xw = r4.xw + r5.wx;
r2.z = -r4.x + r2.z;
r2.z = r4.z * r2.z + r4.x;
r2.z = r2.z + r4.w;
r2.z = r2.z + r2.w;
r2.z = 0.111111112 * r2.z;
r5.xyzw = g_SamplerOmniShadowDynamic.T.Gather(g_SamplerOmniShadowDynamic.S_s, r2.xy, int2(1, 1)).xyzw;
r5.xyzw = cmp(r5.xyzw >= r1.wwww);
r5.xyzw = r5.xyzw ? float4(1,1,1,1) : 0;
r6.xyzw = g_SamplerOmniShadowDynamic.T.Gather(g_SamplerOmniShadowDynamic.S_s, r2.xy, int2(-1, 1)).xyzw;
r6.xyzw = cmp(r6.xyzw >= r1.wwww);
r4.xw = r6.xw ? float2(-1,-1) : float2(-0,-0);
r6.xyzw = r6.xyzw ? float4(1,1,1,1) : 0;
r4.xw = r5.yz + r4.xw;
r4.xw = r4.yy * r4.xw + r6.xw;
r4.xw = r4.xw + r6.yz;
r4.xw = r4.xw + r5.xw;
r5.xyzw = g_SamplerOmniShadowDynamic.T.Gather(g_SamplerOmniShadowDynamic.S_s, r2.xy, int2(1, -1)).xyzw;
r6.xyzw = g_SamplerOmniShadowDynamic.T.Gather(g_SamplerOmniShadowDynamic.S_s, r2.xy, int2(-1, -1)).xyzw;
r6.xyzw = cmp(r6.xyzw >= r1.wwww);
r5.xyzw = cmp(r5.xyzw >= r1.wwww);
r5.xyzw = r5.xyzw ? float4(1,1,1,1) : 0;
r2.xy = r6.wx ? float2(-1,-1) : float2(-0,-0);
r6.xyzw = r6.xyzw ? float4(1,1,1,1) : 0;
r2.xy = r5.zy + r2.xy;
r2.xy = r4.yy * r2.xy + r6.wx;
r2.xy = r2.xy + r6.zy;
r2.xy = r2.xy + r5.wx;
r1.w = r4.x + -r2.x;
r1.w = r4.z * r1.w + r2.x;
r1.w = r1.w + r2.y;
r1.w = r1.w + r4.w;
r1.w = 0.111111112 * r1.w;
r1.w = min(r2.z, r1.w);
r2.x = cmp(r1.w != r1.w);
r1.w = r2.x ? 1 : r1.w;
r2.x = -0.00100000005 + r1.w;
r2.x = cmp(r2.x < 0);
if (r2.x != 0) discard;
r2.xyz = -g_LightParam.m_ClipMin.xyz + r3.xyz;
r3.xyz = g_LightParam.m_ClipMax.xyz + -r3.xyz;
r3.xyz = cmp(r3.xyz < float3(0,0,0));
r2.xyz = cmp(r2.xyz < float3(0,0,0));
r2.x = (int)r2.y | (int)r2.x;
r2.x = (int)r2.z | (int)r2.x;
if (r2.x != 0) discard;
r2.x = (int)r3.y | (int)r3.x;
r2.x = (int)r3.z | (int)r2.x;
if (r2.x != 0) discard;
r2.x = dot(-r1.xyz, -r1.xyz);
r2.x = rsqrt(r2.x);
r2.xyz = r2.xxx * -r1.xyz;
r1.xyz = g_LightParam.m_Position.xyz + -r1.xyz;
r0.xyz = float3(-0.5,-0.5,-0.5) + r0.xyz;
r0.w = max(0.00200000009, r0.w);
r0.w = log2(r0.w);
r0.w = -15 * r0.w;
r2.w = dot(r0.xyz, r0.xyz);
r2.w = rsqrt(r2.w);
r0.xyz = r2.www * r0.xyz;
r2.w = dot(-r2.xyz, r0.xyz);
r2.w = r2.w + r2.w;
r2.xyz = r0.xyz * -r2.www + -r2.xyz;
r2.w = dot(r1.xyz, r1.xyz);
r3.x = rsqrt(r2.w);
r1.xyz = r3.xxx * r1.xyz;
r3.x = r3.x / r2.w;
r4.x = g_LightParam.m_Attenuation.z * r2.w;
r2.w = g_LightParam.m_Attenuation.w * r3.x;
r2.x = saturate(dot(r2.xyz, r1.xyz));
r0.x = saturate(dot(r0.xyz, r1.xyz));
r0.z = log2(r2.x);
r0.z = r0.w * r0.z;
r0.z = exp2(r0.z);
r0.w = 1 + -r0.x;
r0.w = r0.w * r0.w;
r0.w = r0.w * -3 + 3;
r0.w = min(1, r0.w);
r0.y = r0.z * r0.w;
r4.y = 0;
r0.z = g_SamplerAttenuation.T.Sample(g_SamplerAttenuation.S_s, r4.xy).x;
r0.z = saturate(r2.w * r0.z);
r0.xy = r0.xy * r0.zz;
r0.xy = r0.xy * r1.ww;
o0.xyz = g_LightParam.m_DiffuseColor.xyz * r0.xxx;
o0.w = r0.x;
o1.xyz = g_LightParam.m_SpecularColor.xyz * r0.yyy;
o1.w = r0.y;
return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// using 3Dmigoto v1.2.43 on Sun Aug 28 12:29:08 2016
//
//
// Buffer Definitions:
//
// cbuffer g_CommonParameter
// {
//
// struct CommonParameter
// {
//
// float4 m_RenderTarget; // Offset: 0
// float4 m_Viewport; // Offset: 16
// float4 m_Misc; // Offset: 32
// float4 m_Misc2; // Offset: 48
//
// } g_CommonParameter; // Offset: 0 Size: 64
//
// }
//
// cbuffer g_OmniShadowParam
// {
//
// struct OmniShadowParam
// {
//
// row_major float4x4 m_ViewProjectionMatrix[4];// Offset: 0
// float4 m_Resolution; // Offset: 256
//
// } g_OmniShadowParam; // Offset: 0 Size: 272
//
// }
//
// cbuffer g_LightParam
// {
//
// struct LightParam
// {
//
// float3 m_Position; // Offset: 0
// float3 m_Direction; // Offset: 16
// float3 m_DiffuseColor; // Offset: 32
// float3 m_SpecularColor; // Offset: 48
// float4 m_Attenuation; // Offset: 64
// float4 m_ClipMin; // Offset: 80
// float3 m_ClipMax; // Offset: 96
// float3 m_FadeScale; // Offset: 112
// float4 m_ShadowTexMask; // Offset: 128
// float4 m_PlaneRayDirection; // Offset: 144
// row_major float3x4 m_PlaneInversMatrix;// Offset: 160
// row_major float3x4 m_WorldViewInversMatrix;// Offset: 208
// row_major float4x4 m_LightMapMatrix;// Offset: 256
// row_major float4x4 m_WorldViewProjectionMatrix;// Offset: 320
//
// } g_LightParam; // Offset: 0 Size: 384
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// g_SamplerViewPosition.S sampler NA NA 0 1
// g_SamplerAttenuation.S sampler NA NA 1 1
// g_SamplerOmniShadowStatic.S sampler NA NA 2 1
// g_SamplerOmniShadowDynamic.S sampler NA NA 3 1
// g_SamplerOmniShadowIndexTable.S sampler NA NA 4 1
// g_SamplerGBuffer.S sampler NA NA 5 1
// g_SamplerViewPosition.T texture float4 2d 0 1
// g_SamplerAttenuation.T texture float4 2d 1 1
// g_SamplerOmniShadowStatic.T texture float4 2d 2 1
// g_SamplerOmniShadowDynamic.T texture float4 2d 3 1
// g_SamplerOmniShadowIndexTable.T texture float4 cube 4 1
// g_SamplerGBuffer.T texture float4 2d 5 1
// g_CommonParameter cbuffer NA NA 0 1
// g_OmniShadowParam cbuffer NA NA 1 1
// g_LightParam cbuffer NA NA 2 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 cb0[1], immediateIndexed
dcl_constantbuffer cb1[17], immediateIndexed
dcl_constantbuffer cb2[16], 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_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_texturecube (float,float,float,float) t4
dcl_resource_texture2d (float,float,float,float) t5
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_temps 7
mad r0.xy, v0.xyxx, cb0[0].xyxx, cb0[0].zwzz
sample_indexable(texture2d)(float,float,float,float) r1.xyz, r0.xyxx, t0.xyzw, s0
sample_indexable(texture2d)(float,float,float,float) r0.xyzw, r0.xyxx, t5.xyzw, s5
mov r2.xyz, r1.xyzx
mov r2.w, l(1.000000)
dp4 r3.x, cb2[13].xyzw, r2.xyzw
dp4 r3.y, cb2[14].xyzw, r2.xyzw
dp4 r3.z, cb2[15].xyzw, r2.xyzw
sample_indexable(texturecube)(float,float,float,float) r4.xyzw, r3.xyzx, t4.xyzw, s4
mul r5.xyzw, r4.yyyy, cb1[4].xyzw
mad r5.xyzw, cb1[0].xyzw, r4.xxxx, r5.xyzw
mad r5.xyzw, cb1[8].xyzw, r4.zzzz, r5.xyzw
mad r5.xyzw, cb1[12].xyzw, r4.wwww, r5.xyzw
dp4 r5.x, r5.xyzw, r2.xyzw
mul r6.xyzw, r4.yyyy, cb1[5].xyzw
mad r6.xyzw, cb1[1].xyzw, r4.xxxx, r6.xyzw
mad r6.xyzw, cb1[9].xyzw, r4.zzzz, r6.xyzw
mad r6.xyzw, cb1[13].xyzw, r4.wwww, r6.xyzw
dp4 r5.y, r6.xyzw, r2.xyzw
mul r6.xyzw, r4.yyyy, cb1[6].xyzw
mad r6.xyzw, cb1[2].xyzw, r4.xxxx, r6.xyzw
mad r6.xyzw, cb1[10].xyzw, r4.zzzz, r6.xyzw
mad r6.xyzw, cb1[14].xyzw, r4.wwww, r6.xyzw
dp4 r5.z, r6.xyzw, r2.xyzw
mul r6.xyzw, r4.yyyy, cb1[7].xyzw
mad r6.xyzw, cb1[3].xyzw, r4.xxxx, r6.xyzw
mad r6.xyzw, cb1[11].xyzw, r4.zzzz, r6.xyzw
mad r4.xyzw, cb1[15].xyzw, r4.wwww, r6.xyzw
dp4 r1.w, r4.xyzw, r2.xyzw
div r2.xyz, r5.xyzx, r1.wwww
gather4_aoffimmi_indexable(1,1,0)(texture2d)(float,float,float,float) r4.xyzw, r2.xyxx, t2.xyzw, s2.x
min r1.w, r2.z, l(1.000000)
ge r4.xyzw, r4.xyzw, r1.wwww
and r4.xyzw, r4.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000)
gather4_aoffimmi_indexable(-1,1,0)(texture2d)(float,float,float,float) r5.xyzw, r2.xyxx, t2.xyzw, s2.x
ge r5.xyzw, r5.xyzw, r1.wwww
movc r2.zw, r5.xxxw, l(0,0,-1.000000,-1.000000), l(0,0,-0.000000,-0.000000)
and r5.xyzw, r5.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000)
add r2.zw, r2.zzzw, r4.yyyz
mad r4.yz, r2.xxyx, cb1[16].xxyx, l(0.000000, -0.500000, -0.500000, 0.000000)
frc r4.yz, r4.yyzy
mad r2.zw, r4.yyyy, r2.zzzw, r5.xxxw
add r2.zw, r5.yyyz, r2.zzzw
add r2.zw, r4.xxxw, r2.zzzw
gather4_aoffimmi_indexable(1,-1,0)(texture2d)(float,float,float,float) r5.xyzw, r2.xyxx, t2.xyzw, s2.x
ge r5.xyzw, r5.xyzw, r1.wwww
and r5.xyzw, r5.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000)
gather4_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r6.xyzw, r2.xyxx, t2.xyzw, s2.x
ge r6.xyzw, r6.xyzw, r1.wwww
movc r4.xw, r6.wwwx, l(-1.000000,0,0,-1.000000), l(-0.000000,0,0,-0.000000)
and r6.xyzw, r6.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000)
add r4.xw, r4.xxxw, r5.zzzy
mad r4.xw, r4.yyyy, r4.xxxw, r6.wwwx
add r4.xw, r6.zzzy, r4.xxxw
add r4.xw, r5.wwwx, r4.xxxw
add r2.z, r2.z, -r4.x
mad r2.z, r4.z, r2.z, r4.x
add r2.z, r4.w, r2.z
add r2.z, r2.w, r2.z
mul r2.z, r2.z, l(0.111111112)
gather4_aoffimmi_indexable(1,1,0)(texture2d)(float,float,float,float) r5.xyzw, r2.xyxx, t3.xyzw, s3.x
ge r5.xyzw, r5.xyzw, r1.wwww
and r5.xyzw, r5.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000)
gather4_aoffimmi_indexable(-1,1,0)(texture2d)(float,float,float,float) r6.xyzw, r2.xyxx, t3.xyzw, s3.x
ge r6.xyzw, r6.xyzw, r1.wwww
movc r4.xw, r6.xxxw, l(-1.000000,0,0,-1.000000), l(-0.000000,0,0,-0.000000)
and r6.xyzw, r6.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000)
add r4.xw, r4.xxxw, r5.yyyz
mad r4.xw, r4.yyyy, r4.xxxw, r6.xxxw
add r4.xw, r6.yyyz, r4.xxxw
add r4.xw, r5.xxxw, r4.xxxw
gather4_aoffimmi_indexable(1,-1,0)(texture2d)(float,float,float,float) r5.xyzw, r2.xyxx, t3.xyzw, s3.x
gather4_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r6.xyzw, r2.xyxx, t3.xyzw, s3.x
ge r6.xyzw, r6.xyzw, r1.wwww
ge r5.xyzw, r5.xyzw, r1.wwww
and r5.xyzw, r5.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000)
movc r2.xy, r6.wxww, l(-1.000000,-1.000000,0,0), l(-0.000000,-0.000000,0,0)
and r6.xyzw, r6.xyzw, l(0x3f800000, 0x3f800000, 0x3f800000, 0x3f800000)
add r2.xy, r2.xyxx, r5.zyzz
mad r2.xy, r4.yyyy, r2.xyxx, r6.wxww
add r2.xy, r6.zyzz, r2.xyxx
add r2.xy, r5.wxww, r2.xyxx
add r1.w, -r2.x, r4.x
mad r1.w, r4.z, r1.w, r2.x
add r1.w, r2.y, r1.w
add r1.w, r4.w, r1.w
mul r1.w, r1.w, l(0.111111112)
min r1.w, r1.w, r2.z
ne r2.x, r1.w, r1.w
movc r1.w, r2.x, l(1.000000), r1.w
add r2.x, r1.w, l(-0.001000)
lt r2.x, r2.x, l(0.000000)
discard_nz r2.x
add r2.xyz, r3.xyzx, -cb2[5].xyzx
add r3.xyz, -r3.xyzx, cb2[6].xyzx
lt r3.xyz, r3.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
lt r2.xyz, r2.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
or r2.x, r2.y, r2.x
or r2.x, r2.z, r2.x
discard_nz r2.x
or r2.x, r3.y, r3.x
or r2.x, r3.z, r2.x
discard_nz r2.x
dp3 r2.x, -r1.xyzx, -r1.xyzx
rsq r2.x, r2.x
mul r2.xyz, -r1.xyzx, r2.xxxx
add r1.xyz, -r1.xyzx, cb2[0].xyzx
add r0.xyz, r0.xyzx, l(-0.500000, -0.500000, -0.500000, 0.000000)
max r0.w, r0.w, l(0.002000)
log r0.w, r0.w
mul r0.w, r0.w, l(-15.000000)
dp3 r2.w, r0.xyzx, r0.xyzx
rsq r2.w, r2.w
mul r0.xyz, r0.xyzx, r2.wwww
dp3 r2.w, -r2.xyzx, r0.xyzx
add r2.w, r2.w, r2.w
mad r2.xyz, r0.xyzx, -r2.wwww, -r2.xyzx
dp3 r2.w, r1.xyzx, r1.xyzx
rsq r3.x, r2.w
mul r1.xyz, r1.xyzx, r3.xxxx
div r3.x, r3.x, r2.w
mul r4.x, r2.w, cb2[4].z
mul r2.w, r3.x, cb2[4].w
dp3_sat r2.x, r2.xyzx, r1.xyzx
dp3_sat r0.x, r0.xyzx, r1.xyzx
log r0.z, r2.x
mul r0.z, r0.z, r0.w
exp r0.z, r0.z
add r0.w, -r0.x, l(1.000000)
mul r0.w, r0.w, r0.w
mad r0.w, r0.w, l(-3.000000), l(3.000000)
min r0.w, r0.w, l(1.000000)
mul r0.y, r0.w, r0.z
mov r4.y, l(0)
sample_indexable(texture2d)(float,float,float,float) r0.z, r4.xyxx, t1.yzxw, s1
mul_sat r0.z, r0.z, r2.w
mul r0.xy, r0.zzzz, r0.xyxx
mul r0.xy, r1.wwww, r0.xyxx
mul o0.xyz, r0.xxxx, cb2[2].xyzx
mov o0.w, r0.x
mul o1.xyz, r0.yyyy, cb2[3].xyzx
mov o1.w, r0.y
ret
// Approximately 143 instruction slots used

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

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 08/29/2016 05:03 AM   
[quote="The_Nephilim"]Hey Man Great news it did work. I thought If I saw the offset it was not working looks like it might have been working all along hehe!! As for that code I had a few of them error out I can find the offending ones and post them here is you want..?? Again thnx so much you have been a good mentor so far.. but where can can I find original incantation of these codes we use?? as I really don't understand them at all and only know so few..[/quote] Yeah, putting them here is fine. If it's a more general question, the main 3Dmigoto or ShaderHacker School threads are better, but if game specific, the game thread is good. We don't have any good documentation on the techniques exactly, it's a bit scattershot. I never got a chance to continue the classes. Best we've got is a lot of different threads. I collated some information in a post, but it's not complete. [url]http://helixmod.blogspot.com/2014/01/learning-how-to-fix-games.html[/url] And if you look in the GameList on HelixModBlog, at the bottom is a list of posts that are tutorials and guides.
The_Nephilim said:Hey Man Great news it did work. I thought If I saw the offset it was not working looks like it might have been working all along hehe!!

As for that code I had a few of them error out I can find the offending ones and post them here is you want..??

Again thnx so much you have been a good mentor so far.. but where can can I find original incantation of these codes we use?? as I really don't understand them at all and only know so few..

Yeah, putting them here is fine. If it's a more general question, the main 3Dmigoto or ShaderHacker School threads are better, but if game specific, the game thread is good.

We don't have any good documentation on the techniques exactly, it's a bit scattershot. I never got a chance to continue the classes. Best we've got is a lot of different threads. I collated some information in a post, but it's not complete. http://helixmod.blogspot.com/2014/01/learning-how-to-fix-games.html

And if you look in the GameList on HelixModBlog, at the bottom is a list of posts that are tutorials and guides.

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

Posted 08/29/2016 06:24 AM   
[quote="The_Nephilim"]---------------------------------------------------------------- BEGIN --------------------------------------------- C:\Program Files (x86)\SquareEnix\FINAL FANTASY XIV - A Realm Reborn\game\ShaderFixes\1f1708d36747ce28-vs_replace.txt(29,14-15): warning X3578: Output value 'o2' is not completely initialized --------------------------- END ---------------------------------------------- shader successfully replaced.[/quote] For these, it's not a problem, it's just a warning. This is a side-effect of another complicated fix I made, and while it's annoying it has no ill effects. You can ignore the warnings, unless the shader seems to damage the image, which you can tell with F9 key. [quote="The_Nephilim"]this is the 2nd one: C:\Program Files (x86)\SquareEnix\FINAL FANTASY XIV - A Realm Reborn\game\ShaderFixes\10c490cec21afcc6-ps_replace.txt(3,23): error X3000: syntax error: unexpected token '.'[/quote] This is the same error as the one I fixed above. Use the same technique to hand fix all of these that you need, by replacing the period with the underscore in the HLSL code. BTW, you can compare to files back to back with a free tool called WinMerge. It makes it much more obvious where differences lie. [quote="The_Nephilim"]C:\Program Files (x86)\SquareEnix\FINAL FANTASY XIV - A Realm Reborn\game\ShaderFixes\0ecaaa3a296cc862-ps_replace.txt(39,35): error X3000: syntax error: unexpected token '.' [/quote] Same as above, hand-fix these for now. If I see enough examples popping up (like especially multiple games), I try to fix the problems in the Decompiler itself. If we only need a small handful of shaders, doing hand-fix is OK.
The_Nephilim said:---------------------------------------------------------------- BEGIN ---------------------------------------------
C:\Program Files (x86)\SquareEnix\FINAL FANTASY XIV - A Realm Reborn\game\ShaderFixes\1f1708d36747ce28-vs_replace.txt(29,14-15): warning X3578: Output value 'o2' is not completely initialized
--------------------------- END ----------------------------------------------
shader successfully replaced.

For these, it's not a problem, it's just a warning. This is a side-effect of another complicated fix I made, and while it's annoying it has no ill effects. You can ignore the warnings, unless the shader seems to damage the image, which you can tell with F9 key.



The_Nephilim said:this is the 2nd one:

C:\Program Files (x86)\SquareEnix\FINAL FANTASY XIV - A Realm Reborn\game\ShaderFixes\10c490cec21afcc6-ps_replace.txt(3,23): error X3000: syntax error: unexpected token '.'

This is the same error as the one I fixed above. Use the same technique to hand fix all of these that you need, by replacing the period with the underscore in the HLSL code.

BTW, you can compare to files back to back with a free tool called WinMerge. It makes it much more obvious where differences lie.


The_Nephilim said:C:\Program Files (x86)\SquareEnix\FINAL FANTASY XIV - A Realm Reborn\game\ShaderFixes\0ecaaa3a296cc862-ps_replace.txt(39,35): error X3000: syntax error: unexpected token '.'

Same as above, hand-fix these for now. If I see enough examples popping up (like especially multiple games), I try to fix the problems in the Decompiler itself. If we only need a small handful of shaders, doing hand-fix is OK.

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

Posted 08/29/2016 06:31 AM   
OK how do I know which of the periods need to be fixed. I looked at those codes and there are tons of periods in them?? Also about the clouds if they are correct now should they also if it is working show double clouds if Stereo is working?? I ask because when I look at the clouds with Stereo enabled and the glasses off everything is doubled but the clouds?? IS that why they might not be in 3D and show as 2D?? I think in other games I've seen the clouds also show a double image when looking at it with 3D STereo enabled and glasses off?? They still don't look right too me..
OK how do I know which of the periods need to be fixed. I looked at those codes and there are tons of periods in them??

Also about the clouds if they are correct now should they also if it is working show double clouds if Stereo is working?? I ask because when I look at the clouds with Stereo enabled and the glasses off everything is doubled but the clouds??

IS that why they might not be in 3D and show as 2D?? I think in other games I've seen the clouds also show a double image when looking at it with 3D STereo enabled and glasses off??

They still don't look right too me..

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 08/29/2016 09:40 PM   
here is the link they do not appear to be doubled the clouds don't??? [url]http://photos.3dvisionlive.com/The_Nephilim/image/57c4ac41e7e564d621000212[/url]
here is the link they do not appear to be doubled the clouds don't???



http://photos.3dvisionlive.com/The_Nephilim/image/57c4ac41e7e564d621000212

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 08/29/2016 09:43 PM   
[quote="The_Nephilim"]OK how do I know which of the periods need to be fixed. I looked at those codes and there are tons of periods in them?? Also about the clouds if they are correct now should they also if it is working show double clouds if Stereo is working?? I ask because when I look at the clouds with Stereo enabled and the glasses off everything is doubled but the clouds?? IS that why they might not be in 3D and show as 2D?? I think in other games I've seen the clouds also show a double image when looking at it with 3D STereo enabled and glasses off?? They still don't look right too me..[/quote] Normally I'll comment the lines that I change, was in a rush for that one. I edited the code above to make it more clear. The way to do this is to use WinMerge. Two files, your original, and my changed one. It will highlight exactly what changed. This is a really powerful technique and will help in lots of other cases. DarkStarSword has a lot of fixes with the original, then his changes, and seeing what he modifies really helps. Give it a try.
The_Nephilim said:OK how do I know which of the periods need to be fixed. I looked at those codes and there are tons of periods in them??

Also about the clouds if they are correct now should they also if it is working show double clouds if Stereo is working?? I ask because when I look at the clouds with Stereo enabled and the glasses off everything is doubled but the clouds??

IS that why they might not be in 3D and show as 2D?? I think in other games I've seen the clouds also show a double image when looking at it with 3D STereo enabled and glasses off??

They still don't look right too me..

Normally I'll comment the lines that I change, was in a rush for that one. I edited the code above to make it more clear.

The way to do this is to use WinMerge. Two files, your original, and my changed one. It will highlight exactly what changed. This is a really powerful technique and will help in lots of other cases. DarkStarSword has a lot of fixes with the original, then his changes, and seeing what he modifies really helps. Give it a try.

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

Posted 08/30/2016 04:09 AM   
[quote="The_Nephilim"]here is the link they do not appear to be doubled the clouds don't??? [url]http://photos.3dvisionlive.com/The_Nephilim/image/57c4ac41e7e564d621000212[/url][/quote] Yep, I agree those don't look right. Using Anaglyph mode is the easiest way to tell on these. Anything white should become red/blue. However, that's a night shot, and I seem to recall you saying the shaders were different. If that's true, you really need to focus upon a single scenario and nail it down first. If you jump from spot to spot to spot, you can't really make progress because you keep changing underlying assumptions. Take the picture you posted earlier: http://photos.3dvisionlive.com/The_Nephilim/image/57c3b272e7e56452040001ec/ Look on the left edge of the clouds, and you can see it's colored red, not white. That means that at least some part of that image was adjusted. Not sure it's related to your fix code, but that part is at depth. I know it's at depth instead of popout, because it's red, not blue. The popout HUD has blue on the left (swaps eyes for popout). And approximately the same depth as the far away trees, same difference between left and right. If you alternately click left, then right on the viewer, you can also see that vapor cloud shift left and right. However, the main wisp in the middle, just to the left of the sword does not move. So, that suggests that there is maybe another shader for different levels of clouds or something. The word 'clouds' is inadequate here, because we have multiple layers and it's not at all clear you and I are talking about the same thing. Best to post screenshots, maybe especially with a back to back of it disabled, then enabled so we can be talking about the same piece. Also, sometimes it's more clear if other conflicting stuff is just disabled, while you focus on one.
The_Nephilim said:here is the link they do not appear to be doubled the clouds don't???


http://photos.3dvisionlive.com/The_Nephilim/image/57c4ac41e7e564d621000212

Yep, I agree those don't look right. Using Anaglyph mode is the easiest way to tell on these. Anything white should become red/blue.

However, that's a night shot, and I seem to recall you saying the shaders were different. If that's true, you really need to focus upon a single scenario and nail it down first. If you jump from spot to spot to spot, you can't really make progress because you keep changing underlying assumptions.

Take the picture you posted earlier: http://photos.3dvisionlive.com/The_Nephilim/image/57c3b272e7e56452040001ec/

Look on the left edge of the clouds, and you can see it's colored red, not white. That means that at least some part of that image was adjusted. Not sure it's related to your fix code, but that part is at depth. I know it's at depth instead of popout, because it's red, not blue. The popout HUD has blue on the left (swaps eyes for popout). And approximately the same depth as the far away trees, same difference between left and right.

If you alternately click left, then right on the viewer, you can also see that vapor cloud shift left and right.


However, the main wisp in the middle, just to the left of the sword does not move. So, that suggests that there is maybe another shader for different levels of clouds or something.

The word 'clouds' is inadequate here, because we have multiple layers and it's not at all clear you and I are talking about the same thing. Best to post screenshots, maybe especially with a back to back of it disabled, then enabled so we can be talking about the same piece.

Also, sometimes it's more clear if other conflicting stuff is just disabled, while you focus on one.

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

Posted 08/30/2016 04:15 AM   
Well that red is part from the stars.. I do not see any part of the cloud red or blue.. And to be sure when I talk about clouds I mean like a cumulus cloud, I took a fewe screenshots will post next.. the first one was with the fix enabled and the 2nd is when I disabled it.. there was no change in either.. http://photos.3dvisionlive.com/The_Nephilim/image/57c517d1e7e564074000022d/ Next screenshot was with the fix disabled note there was no change: http://photos.3dvisionlive.com/The_Nephilim/image/57c5182fe7e564566d0000b6/ Now with this set there where only 2 shaders that included the clouds.. I did not see any other skybox shader besides the 2. here are the files in code: [code] // ---- Created with 3Dmigoto v1.2.43 on Fri Aug 26 22:45:09 2016 //Clouds in sky.. cbuffer g_CameraParameter : register(b0) { struct { row_major float3x4 m_ViewMatrix; row_major float3x4 m_InverseViewMatrix; row_major float4x4 m_ViewProjectionMatrix; row_major float4x4 m_InverseViewProjectionMatrix; row_major float4x4 m_InverseProjectionMatrix; row_major float4x4 m_ProjectionMatrix; row_major float4x4 m_MainViewToProjectionMatrix; float3 m_EyePosition; float3 m_LookAtVector; } g_CameraParameter : packoffset(c0); } cbuffer g_WorldMatrix : register(b1) { row_major float3x4 g_WorldMatrix : packoffset(c0); } cbuffer g_VSParam : register(b2) { float4 g_VSParam[5] : packoffset(c0); } cbuffer g_PSParam : register(b3) { float4 g_PSParam[5] : packoffset(c0); } // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); void main( float4 v0 : POSITION0, float2 v1 : TEXCOORD0, out float4 o0 : SV_POSITION0, out float4 o1 : TEXCOORD0, out float4 o2 : TEXCOORD4, out float4 o3 : TEXCOORD5, out float4 o4 : TEXCOORD6, out float4 o5 : TEXCOORD7) { float4 r0,r1,r2,r3; uint4 bitmask, uiDest; float4 fDest; r0.w = 1; r1.xyz = v0.xyz; r1.w = 1; r0.x = dot(g_WorldMatrix._m00_m01_m02_m03, r1.xyzw); r0.y = dot(g_WorldMatrix._m10_m11_m12_m13, r1.xyzw); r0.z = dot(g_WorldMatrix._m20_m21_m22_m23, r1.xyzw); r1.x = dot(g_CameraParameter.m_ViewProjectionMatrix._m30_m31_m32_m33, r0.xyzw); r1.y = 0.999998987 * r1.x; o0.w = r1.x; r1.x = dot(g_CameraParameter.m_ViewProjectionMatrix._m20_m21_m22_m23, r0.xyzw); o0.z = min(r1.x, r1.y); o0.x = dot(g_CameraParameter.m_ViewProjectionMatrix._m00_m01_m02_m03, r0.xyzw); o0.y = dot(g_CameraParameter.m_ViewProjectionMatrix._m10_m11_m12_m13, r0.xyzw); r0.xyz = g_VSParam[4].xyz + -r0.xyz; r1.xyzw = v1.xyxy * float4(0.5,0.5,0.5,0.5) + float4(0.5,0.5,0.5,0.5); r2.xyzw = g_VSParam[0].zwzw + r1.xyzw; o1.xyzw = g_VSParam[0].xyxy * r2.xyzw; r0.w = dot(r0.xyz, r0.xyz); r0.w = rsqrt(r0.w); r2.xyz = r0.xyz * r0.www; r0.xyz = -r0.xyz * r0.www + float3(0,-1,0); r0.xyz = g_PSParam[0].www * r0.xyz + r2.xyz; o2.w = dot(g_VSParam[3].xyz, -r0.xyz); o2.z = dot(v0.xz, v0.xz); o2.xy = v0.xz; r0.w = -g_VSParam[3].y + r0.y; r0.y = dot(r0.xzw, r0.xzw); r0.y = rsqrt(r0.y); r2.xyz = r0.xwz * r0.yyy; r0.x = -r0.w * r0.y + 1; r0.x = r0.x + r0.x; r0.x = sqrt(r0.x); o3.xyz = r2.xyz; o3.w = 0; r0.yz = float2(0,-1) * r2.yx; r0.yzw = r2.yzy * float3(0,-1,0) + -r0.zyz; r0.yzw = r0.yzw / r0.xxx; r0.x = 0.5 * r0.x; r1.xy = r0.wz + r0.wz; r0.yzw = r1.xyy * r0.yzw; r1.xy = r1.xy * r0.xx; o4.y = -r1.x; o5.y = r1.y; r2.xy = g_VSParam[1].xz; r3.xy = g_VSParam[1].yw + -r2.xy; r2.zw = g_VSParam[2].xz; r3.zw = g_VSParam[2].yw + -r2.zw; r2.xyzw = r1.zzzz * r3.xyzw + r2.xyzw; r1.xy = r2.yw + -r2.xz; r1.xy = r1.ww * r1.xy + r2.xz; o4.w = r1.x; o5.w = r1.y; o4.xz = -r0.yw * float2(-1,1) + float2(-1,0); o5.xz = -r0.wz * float2(1,-1) + float2(0,-1); return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 // // using 3Dmigoto v1.2.43 on Fri Aug 26 22:45:09 2016 // // // Buffer Definitions: // // cbuffer g_CameraParameter // { // // struct CameraParameter // { // // row_major float3x4 m_ViewMatrix;// Offset: 0 // row_major float3x4 m_InverseViewMatrix;// Offset: 48 // row_major float4x4 m_ViewProjectionMatrix;// Offset: 96 // row_major float4x4 m_InverseViewProjectionMatrix;// Offset: 160 // row_major float4x4 m_InverseProjectionMatrix;// Offset: 224 // row_major float4x4 m_ProjectionMatrix;// Offset: 288 // row_major float4x4 m_MainViewToProjectionMatrix;// Offset: 352 // float3 m_EyePosition; // Offset: 416 // float3 m_LookAtVector; // Offset: 432 // // } g_CameraParameter; // Offset: 0 Size: 444 // // } // // cbuffer g_WorldMatrix // { // // row_major float3x4 g_WorldMatrix; // Offset: 0 Size: 48 // // } // // cbuffer g_VSParam // { // // float4 g_VSParam[5]; // Offset: 0 Size: 80 // // } // // cbuffer g_PSParam // { // // float4 g_PSParam[5]; // Offset: 0 Size: 80 // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // g_CameraParameter cbuffer NA NA 0 1 // g_WorldMatrix cbuffer NA NA 1 1 // g_VSParam cbuffer NA NA 2 1 // g_PSParam cbuffer NA NA 3 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // POSITION 0 xyzw 0 NONE float xyz // TEXCOORD 0 xy 1 NONE float xy // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_POSITION 0 xyzw 0 POS float xyzw // TEXCOORD 0 xyzw 1 NONE float xyzw // TEXCOORD 4 xyzw 2 NONE float xyzw // TEXCOORD 5 xyzw 3 NONE float xyzw // TEXCOORD 6 xyzw 4 NONE float xyzw // TEXCOORD 7 xyzw 5 NONE float xyzw // vs_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb0[10], immediateIndexed dcl_constantbuffer cb1[3], immediateIndexed dcl_constantbuffer cb2[5], immediateIndexed dcl_constantbuffer cb3[1], immediateIndexed dcl_input v0.xyz dcl_input v1.xy dcl_output_siv o0.xyzw, position dcl_output o1.xyzw dcl_output o2.xyzw dcl_output o3.xyzw dcl_output o4.xyzw dcl_output o5.xyzw dcl_temps 4 mov r0.w, l(1.000000) mov r1.xyz, v0.xyzx mov r1.w, l(1.000000) dp4 r0.x, cb1[0].xyzw, r1.xyzw dp4 r0.y, cb1[1].xyzw, r1.xyzw dp4 r0.z, cb1[2].xyzw, r1.xyzw dp4 r1.x, cb0[9].xyzw, r0.xyzw mul r1.y, r1.x, l(0.999999) mov o0.w, r1.x dp4 r1.x, cb0[8].xyzw, r0.xyzw min o0.z, r1.y, r1.x dp4 o0.x, cb0[6].xyzw, r0.xyzw dp4 o0.y, cb0[7].xyzw, r0.xyzw add r0.xyz, -r0.xyzx, cb2[4].xyzx mad r1.xyzw, v1.xyxy, l(0.500000, 0.500000, 0.500000, 0.500000), l(0.500000, 0.500000, 0.500000, 0.500000) add r2.xyzw, r1.xyzw, cb2[0].zwzw mul o1.xyzw, r2.xyzw, cb2[0].xyxy dp3 r0.w, r0.xyzx, r0.xyzx rsq r0.w, r0.w mul r2.xyz, r0.wwww, r0.xyzx mad r0.xyz, -r0.xyzx, r0.wwww, l(0.000000, -1.000000, 0.000000, 0.000000) mad r0.xyz, cb3[0].wwww, r0.xyzx, r2.xyzx dp3 o2.w, cb2[3].xyzx, -r0.xyzx dp2 o2.z, v0.xzxx, v0.xzxx mov o2.xy, v0.xzxx add r0.w, r0.y, -cb2[3].y dp3 r0.y, r0.xzwx, r0.xzwx rsq r0.y, r0.y mul r2.xyz, r0.yyyy, r0.xwzx mad r0.x, -r0.w, r0.y, l(1.000000) add r0.x, r0.x, r0.x sqrt r0.x, r0.x mov o3.xyz, r2.xyzx mov o3.w, l(0) mul r0.yz, r2.yyxy, l(0.000000, 0.000000, -1.000000, 0.000000) mad r0.yzw, r2.yyzy, l(0.000000, 0.000000, -1.000000, 0.000000), -r0.zzyz div r0.yzw, r0.yyzw, r0.xxxx mul r0.x, r0.x, l(0.500000) add r1.xy, r0.wzww, r0.wzww mul r0.yzw, r0.yyzw, r1.xxyy mul r1.xy, r0.xxxx, r1.xyxx mov o4.y, -r1.x mov o5.y, r1.y mov r2.xy, cb2[1].xzxx add r3.xy, -r2.xyxx, cb2[1].ywyy mov r2.zw, cb2[2].xxxz add r3.zw, -r2.zzzw, cb2[2].yyyw mad r2.xyzw, r1.zzzz, r3.xyzw, r2.xyzw add r1.xy, -r2.xzxx, r2.ywyy mad r1.xy, r1.wwww, r1.xyxx, r2.xzxx mov o4.w, r1.x mov o5.w, r1.y mad o4.xz, -r0.yywy, l(-1.000000, 0.000000, 1.000000, 0.000000), l(-1.000000, 0.000000, 0.000000, 0.000000) mad o5.xz, -r0.wwzw, l(1.000000, 0.000000, -1.000000, 0.000000), l(0.000000, 0.000000, -1.000000, 0.000000) ret // Approximately 55 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] [code] // ---- Created with 3Dmigoto v1.2.43 on Wed Aug 24 19:39:15 2016 //clouds in the sky... cbuffer g_CameraParameter : register(b0) { struct { row_major float3x4 m_ViewMatrix; row_major float3x4 m_InverseViewMatrix; row_major float4x4 m_ViewProjectionMatrix; row_major float4x4 m_InverseViewProjectionMatrix; row_major float4x4 m_InverseProjectionMatrix; row_major float4x4 m_ProjectionMatrix; row_major float4x4 m_MainViewToProjectionMatrix; float3 m_EyePosition; float3 m_LookAtVector; } g_CameraParameter : packoffset(c0); } cbuffer g_WorldMatrix : register(b1) { row_major float3x4 g_WorldMatrix : packoffset(c0); } cbuffer g_VSParam : register(b2) { float4 g_VSParam[5] : packoffset(c0); } // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); void main( float4 v0 : POSITION0, float2 v1 : TEXCOORD0, out float4 o0 : SV_POSITION0, out float4 o1 : TEXCOORD0, out float4 o2 : TEXCOORD4, out float4 o3 : TEXCOORD5, out float4 o4 : TEXCOORD6, out float4 o5 : TEXCOORD7) { float4 r0,r1,r2; uint4 bitmask, uiDest; float4 fDest; r0.x = dot(g_VSParam[1].xy, v0.xz); r0.x = 0.5 + r0.x; r0.xy = -r0.xx * r0.xx + float2(1,0.5); r0.y = 0.5 + -abs(r0.y); r0.y = 5 * r0.y; r0.yz = g_VSParam[1].xy * r0.yy; r0.yz = g_VSParam[1].ww * r0.yz; r0.w = 1 + v0.y; r0.yz = r0.yz * r0.ww; r0.w = r0.w * r0.w; r0.w = r0.w * g_VSParam[4].w + 1; r1.x = 1 + -g_VSParam[1].w; r1.x = g_VSParam[1].w * r0.x + r1.x; r0.x = g_VSParam[1].w * r0.x + g_VSParam[1].z; r1.x = v0.y * r1.x + r0.x; r0.x = 1 + -r1.x; r0.x = r0.x * r0.x + 1; r2.xy = v0.xz * r0.xx; r1.yz = r2.xy * r0.ww + r0.yz; r1.w = 1; r0.x = dot(g_WorldMatrix._m01_m00_m02_m03, r1.xyzw); r0.y = dot(g_WorldMatrix._m11_m10_m12_m13, r1.xyzw); r0.z = dot(g_WorldMatrix._m21_m20_m22_m23, r1.xyzw); r1.x = saturate(r1.x); r1.x = 1 + -r1.x; r1.x = r1.x * r1.x; r2.y = -r1.x * 1.5 + 0.5; o2.xy = r1.yz; r0.w = 1; r1.x = dot(g_CameraParameter.m_ViewProjectionMatrix._m20_m21_m22_m23, r0.xyzw); r1.y = dot(g_CameraParameter.m_ViewProjectionMatrix._m30_m31_m32_m33, r0.xyzw); r1.z = 0.999998987 * r1.y; o0.w = r1.y; o0.z = min(r1.x, r1.z); o0.x = dot(g_CameraParameter.m_ViewProjectionMatrix._m00_m01_m02_m03, r0.xyzw); o0.y = dot(g_CameraParameter.m_ViewProjectionMatrix._m10_m11_m12_m13, r0.xyzw); o1.xyzw = v1.xyxy; r0.x = -r2.y * r2.y + 1; r0.x = sqrt(r0.x); r2.xz = v0.xz * -r0.xx; o2.w = dot(g_VSParam[3].xyz, -r2.xyz); o2.z = 0; o3.xyz = r2.xyz; o3.w = 0; r0.x = dot(g_VSParam[2].xy, v0.xz); r0.x = 0.5 + r0.x; r0.x = g_VSParam[2].z * r0.x + g_VSParam[2].w; o4.w = 1 + -r0.x; o5.w = r0.x; r0.xz = float2(-1,1) * v0.zx; r0.y = 0; o4.xyz = r0.xyz; r1.xyz = r2.zxy * r0.yzx; o5.xyz = r2.yzx * r0.zxy + -r1.xyz; return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 // // using 3Dmigoto v1.2.43 on Wed Aug 24 19:39:15 2016 // // // Buffer Definitions: // // cbuffer g_CameraParameter // { // // struct CameraParameter // { // // row_major float3x4 m_ViewMatrix;// Offset: 0 // row_major float3x4 m_InverseViewMatrix;// Offset: 48 // row_major float4x4 m_ViewProjectionMatrix;// Offset: 96 // row_major float4x4 m_InverseViewProjectionMatrix;// Offset: 160 // row_major float4x4 m_InverseProjectionMatrix;// Offset: 224 // row_major float4x4 m_ProjectionMatrix;// Offset: 288 // row_major float4x4 m_MainViewToProjectionMatrix;// Offset: 352 // float3 m_EyePosition; // Offset: 416 // float3 m_LookAtVector; // Offset: 432 // // } g_CameraParameter; // Offset: 0 Size: 444 // // } // // cbuffer g_WorldMatrix // { // // row_major float3x4 g_WorldMatrix; // Offset: 0 Size: 48 // // } // // cbuffer g_VSParam // { // // float4 g_VSParam[5]; // Offset: 0 Size: 80 // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // g_CameraParameter cbuffer NA NA 0 1 // g_WorldMatrix cbuffer NA NA 1 1 // g_VSParam cbuffer NA NA 2 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // POSITION 0 xyzw 0 NONE float xyz // TEXCOORD 0 xy 1 NONE float xy // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_POSITION 0 xyzw 0 POS float xyzw // TEXCOORD 0 xyzw 1 NONE float xyzw // TEXCOORD 4 xyzw 2 NONE float xyzw // TEXCOORD 5 xyzw 3 NONE float xyzw // TEXCOORD 6 xyzw 4 NONE float xyzw // TEXCOORD 7 xyzw 5 NONE float xyzw // vs_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb0[10], immediateIndexed dcl_constantbuffer cb1[3], immediateIndexed dcl_constantbuffer cb2[5], immediateIndexed dcl_input v0.xyz dcl_input v1.xy dcl_output_siv o0.xyzw, position dcl_output o1.xyzw dcl_output o2.xyzw dcl_output o3.xyzw dcl_output o4.xyzw dcl_output o5.xyzw dcl_temps 3 dp2 r0.x, cb2[1].xyxx, v0.xzxx add r0.x, r0.x, l(0.500000) mad r0.xy, -r0.xxxx, r0.xxxx, l(1.000000, 0.500000, 0.000000, 0.000000) add r0.y, -|r0.y|, l(0.500000) mul r0.y, r0.y, l(5.000000) mul r0.yz, r0.yyyy, cb2[1].xxyx mul r0.yz, r0.yyzy, cb2[1].wwww add r0.w, v0.y, l(1.000000) mul r0.yz, r0.wwww, r0.yyzy mul r0.w, r0.w, r0.w mad r0.w, r0.w, cb2[4].w, l(1.000000) add r1.x, -cb2[1].w, l(1.000000) mad r1.x, cb2[1].w, r0.x, r1.x mad r0.x, cb2[1].w, r0.x, cb2[1].z mad r1.x, v0.y, r1.x, r0.x add r0.x, -r1.x, l(1.000000) mad r0.x, r0.x, r0.x, l(1.000000) mul r2.xy, r0.xxxx, v0.xzxx mad r1.yz, r2.xxyx, r0.wwww, r0.yyzy mov r1.w, l(1.000000) dp4 r0.x, cb1[0].yxzw, r1.xyzw dp4 r0.y, cb1[1].yxzw, r1.xyzw dp4 r0.z, cb1[2].yxzw, r1.xyzw mov_sat r1.x, r1.x add r1.x, -r1.x, l(1.000000) mul r1.x, r1.x, r1.x mad r2.y, -r1.x, l(1.500000), l(0.500000) mov o2.xy, r1.yzyy mov r0.w, l(1.000000) dp4 r1.x, cb0[8].xyzw, r0.xyzw dp4 r1.y, cb0[9].xyzw, r0.xyzw mul r1.z, r1.y, l(0.999999) mov o0.w, r1.y min o0.z, r1.z, r1.x dp4 o0.x, cb0[6].xyzw, r0.xyzw dp4 o0.y, cb0[7].xyzw, r0.xyzw mov o1.xyzw, v1.xyxy mad r0.x, -r2.y, r2.y, l(1.000000) sqrt r0.x, r0.x mul r2.xz, -r0.xxxx, v0.xxzx dp3 o2.w, cb2[3].xyzx, -r2.xyzx mov o2.z, l(0) mov o3.xyz, r2.xyzx mov o3.w, l(0) dp2 r0.x, cb2[2].xyxx, v0.xzxx add r0.x, r0.x, l(0.500000) mad r0.x, cb2[2].z, r0.x, cb2[2].w add o4.w, -r0.x, l(1.000000) mov o5.w, r0.x mul r0.xz, v0.zzxz, l(-1.000000, 0.000000, 1.000000, 0.000000) mov r0.y, l(0) mov o4.xyz, r0.xyzx mul r1.xyz, r0.yzxy, r2.zxyz mad o5.xyz, r2.yzxy, r0.zxyz, -r1.xyzx ret // Approximately 55 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] Now I checked the night cloud they seem to be the same ASM file.. everytime I scolled through the shaders these same 2 files showed for the clouds or these particular shaders that happen to include clouds.. Now When I was looking at them in real time the clouds themselves where not double imaged to be in 3D.. Now why they are not doubled is the mystery or at least to me.. I am thinking for some reason this is not a 3D Object in game and is only a 2D Object which we can not turn into S3D.. Now If I am right I will have to omit the clouds out and that is that as I don't think 3D Migot will make them into a 3D Object if they are only a 2D OBject.. Well I was just looking at the image on 3D Live and changed it too anaglyph and low and behold there was no red or cyan on the clouds.. so they must be a 2DD Object rendered in game.. Could that be the issue and if it is can we change that to a 3D Object ingame with the code we have above?? On a side not I was doing some reading with those links you gave me and I did get to read up on HLSL code and got a bit of a better understanding of the file structure just need to read that 1 topic a bit more to learn more of the code.. but it definitely is being revealed better now..
Well that red is part from the stars.. I do not see any part of the cloud red or blue.. And to be sure when I talk about clouds I mean like a cumulus cloud, I took a fewe screenshots will post next.. the first one was with the fix enabled and the 2nd is when I disabled it.. there was no change in either..



http://photos.3dvisionlive.com/The_Nephilim/image/57c517d1e7e564074000022d/


Next screenshot was with the fix disabled note there was no change:



http://photos.3dvisionlive.com/The_Nephilim/image/57c5182fe7e564566d0000b6/




Now with this set there where only 2 shaders that included the clouds.. I did not see any other skybox shader besides the 2. here are the files in code:


// ---- Created with 3Dmigoto v1.2.43 on Fri Aug 26 22:45:09 2016
//Clouds in sky..
cbuffer g_CameraParameter : register(b0)
{

struct
{
row_major float3x4 m_ViewMatrix;
row_major float3x4 m_InverseViewMatrix;
row_major float4x4 m_ViewProjectionMatrix;
row_major float4x4 m_InverseViewProjectionMatrix;
row_major float4x4 m_InverseProjectionMatrix;
row_major float4x4 m_ProjectionMatrix;
row_major float4x4 m_MainViewToProjectionMatrix;
float3 m_EyePosition;
float3 m_LookAtVector;
} g_CameraParameter : packoffset(c0);

}

cbuffer g_WorldMatrix : register(b1)
{
row_major float3x4 g_WorldMatrix : packoffset(c0);
}

cbuffer g_VSParam : register(b2)
{
float4 g_VSParam[5] : packoffset(c0);
}

cbuffer g_PSParam : register(b3)
{
float4 g_PSParam[5] : packoffset(c0);
}



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


void main(
float4 v0 : POSITION0,
float2 v1 : TEXCOORD0,
out float4 o0 : SV_POSITION0,
out float4 o1 : TEXCOORD0,
out float4 o2 : TEXCOORD4,
out float4 o3 : TEXCOORD5,
out float4 o4 : TEXCOORD6,
out float4 o5 : TEXCOORD7)
{
float4 r0,r1,r2,r3;
uint4 bitmask, uiDest;
float4 fDest;

r0.w = 1;
r1.xyz = v0.xyz;
r1.w = 1;
r0.x = dot(g_WorldMatrix._m00_m01_m02_m03, r1.xyzw);
r0.y = dot(g_WorldMatrix._m10_m11_m12_m13, r1.xyzw);
r0.z = dot(g_WorldMatrix._m20_m21_m22_m23, r1.xyzw);
r1.x = dot(g_CameraParameter.m_ViewProjectionMatrix._m30_m31_m32_m33, r0.xyzw);
r1.y = 0.999998987 * r1.x;
o0.w = r1.x;
r1.x = dot(g_CameraParameter.m_ViewProjectionMatrix._m20_m21_m22_m23, r0.xyzw);
o0.z = min(r1.x, r1.y);
o0.x = dot(g_CameraParameter.m_ViewProjectionMatrix._m00_m01_m02_m03, r0.xyzw);
o0.y = dot(g_CameraParameter.m_ViewProjectionMatrix._m10_m11_m12_m13, r0.xyzw);
r0.xyz = g_VSParam[4].xyz + -r0.xyz;
r1.xyzw = v1.xyxy * float4(0.5,0.5,0.5,0.5) + float4(0.5,0.5,0.5,0.5);
r2.xyzw = g_VSParam[0].zwzw + r1.xyzw;
o1.xyzw = g_VSParam[0].xyxy * r2.xyzw;
r0.w = dot(r0.xyz, r0.xyz);
r0.w = rsqrt(r0.w);
r2.xyz = r0.xyz * r0.www;
r0.xyz = -r0.xyz * r0.www + float3(0,-1,0);
r0.xyz = g_PSParam[0].www * r0.xyz + r2.xyz;
o2.w = dot(g_VSParam[3].xyz, -r0.xyz);
o2.z = dot(v0.xz, v0.xz);
o2.xy = v0.xz;
r0.w = -g_VSParam[3].y + r0.y;
r0.y = dot(r0.xzw, r0.xzw);
r0.y = rsqrt(r0.y);
r2.xyz = r0.xwz * r0.yyy;
r0.x = -r0.w * r0.y + 1;
r0.x = r0.x + r0.x;
r0.x = sqrt(r0.x);
o3.xyz = r2.xyz;
o3.w = 0;
r0.yz = float2(0,-1) * r2.yx;
r0.yzw = r2.yzy * float3(0,-1,0) + -r0.zyz;
r0.yzw = r0.yzw / r0.xxx;
r0.x = 0.5 * r0.x;
r1.xy = r0.wz + r0.wz;
r0.yzw = r1.xyy * r0.yzw;
r1.xy = r1.xy * r0.xx;
o4.y = -r1.x;
o5.y = r1.y;
r2.xy = g_VSParam[1].xz;
r3.xy = g_VSParam[1].yw + -r2.xy;
r2.zw = g_VSParam[2].xz;
r3.zw = g_VSParam[2].yw + -r2.zw;
r2.xyzw = r1.zzzz * r3.xyzw + r2.xyzw;
r1.xy = r2.yw + -r2.xz;
r1.xy = r1.ww * r1.xy + r2.xz;
o4.w = r1.x;
o5.w = r1.y;
o4.xz = -r0.yw * float2(-1,1) + float2(-1,0);
o5.xz = -r0.wz * float2(1,-1) + float2(0,-1);

return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// using 3Dmigoto v1.2.43 on Fri Aug 26 22:45:09 2016
//
//
// Buffer Definitions:
//
// cbuffer g_CameraParameter
// {
//
// struct CameraParameter
// {
//
// row_major float3x4 m_ViewMatrix;// Offset: 0
// row_major float3x4 m_InverseViewMatrix;// Offset: 48
// row_major float4x4 m_ViewProjectionMatrix;// Offset: 96
// row_major float4x4 m_InverseViewProjectionMatrix;// Offset: 160
// row_major float4x4 m_InverseProjectionMatrix;// Offset: 224
// row_major float4x4 m_ProjectionMatrix;// Offset: 288
// row_major float4x4 m_MainViewToProjectionMatrix;// Offset: 352
// float3 m_EyePosition; // Offset: 416
// float3 m_LookAtVector; // Offset: 432
//
// } g_CameraParameter; // Offset: 0 Size: 444
//
// }
//
// cbuffer g_WorldMatrix
// {
//
// row_major float3x4 g_WorldMatrix; // Offset: 0 Size: 48
//
// }
//
// cbuffer g_VSParam
// {
//
// float4 g_VSParam[5]; // Offset: 0 Size: 80
//
// }
//
// cbuffer g_PSParam
// {
//
// float4 g_PSParam[5]; // Offset: 0 Size: 80
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// g_CameraParameter cbuffer NA NA 0 1
// g_WorldMatrix cbuffer NA NA 1 1
// g_VSParam cbuffer NA NA 2 1
// g_PSParam cbuffer NA NA 3 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION 0 xyzw 0 NONE float xyz
// TEXCOORD 0 xy 1 NONE float xy
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION 0 xyzw 0 POS float xyzw
// TEXCOORD 0 xyzw 1 NONE float xyzw
// TEXCOORD 4 xyzw 2 NONE float xyzw
// TEXCOORD 5 xyzw 3 NONE float xyzw
// TEXCOORD 6 xyzw 4 NONE float xyzw
// TEXCOORD 7 xyzw 5 NONE float xyzw
//
vs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[10], immediateIndexed
dcl_constantbuffer cb1[3], immediateIndexed
dcl_constantbuffer cb2[5], immediateIndexed
dcl_constantbuffer cb3[1], immediateIndexed
dcl_input v0.xyz
dcl_input v1.xy
dcl_output_siv o0.xyzw, position
dcl_output o1.xyzw
dcl_output o2.xyzw
dcl_output o3.xyzw
dcl_output o4.xyzw
dcl_output o5.xyzw
dcl_temps 4
mov r0.w, l(1.000000)
mov r1.xyz, v0.xyzx
mov r1.w, l(1.000000)
dp4 r0.x, cb1[0].xyzw, r1.xyzw
dp4 r0.y, cb1[1].xyzw, r1.xyzw
dp4 r0.z, cb1[2].xyzw, r1.xyzw
dp4 r1.x, cb0[9].xyzw, r0.xyzw
mul r1.y, r1.x, l(0.999999)
mov o0.w, r1.x
dp4 r1.x, cb0[8].xyzw, r0.xyzw
min o0.z, r1.y, r1.x
dp4 o0.x, cb0[6].xyzw, r0.xyzw
dp4 o0.y, cb0[7].xyzw, r0.xyzw
add r0.xyz, -r0.xyzx, cb2[4].xyzx
mad r1.xyzw, v1.xyxy, l(0.500000, 0.500000, 0.500000, 0.500000), l(0.500000, 0.500000, 0.500000, 0.500000)
add r2.xyzw, r1.xyzw, cb2[0].zwzw
mul o1.xyzw, r2.xyzw, cb2[0].xyxy
dp3 r0.w, r0.xyzx, r0.xyzx
rsq r0.w, r0.w
mul r2.xyz, r0.wwww, r0.xyzx
mad r0.xyz, -r0.xyzx, r0.wwww, l(0.000000, -1.000000, 0.000000, 0.000000)
mad r0.xyz, cb3[0].wwww, r0.xyzx, r2.xyzx
dp3 o2.w, cb2[3].xyzx, -r0.xyzx
dp2 o2.z, v0.xzxx, v0.xzxx
mov o2.xy, v0.xzxx
add r0.w, r0.y, -cb2[3].y
dp3 r0.y, r0.xzwx, r0.xzwx
rsq r0.y, r0.y
mul r2.xyz, r0.yyyy, r0.xwzx
mad r0.x, -r0.w, r0.y, l(1.000000)
add r0.x, r0.x, r0.x
sqrt r0.x, r0.x
mov o3.xyz, r2.xyzx
mov o3.w, l(0)
mul r0.yz, r2.yyxy, l(0.000000, 0.000000, -1.000000, 0.000000)
mad r0.yzw, r2.yyzy, l(0.000000, 0.000000, -1.000000, 0.000000), -r0.zzyz
div r0.yzw, r0.yyzw, r0.xxxx
mul r0.x, r0.x, l(0.500000)
add r1.xy, r0.wzww, r0.wzww
mul r0.yzw, r0.yyzw, r1.xxyy
mul r1.xy, r0.xxxx, r1.xyxx
mov o4.y, -r1.x
mov o5.y, r1.y
mov r2.xy, cb2[1].xzxx
add r3.xy, -r2.xyxx, cb2[1].ywyy
mov r2.zw, cb2[2].xxxz
add r3.zw, -r2.zzzw, cb2[2].yyyw
mad r2.xyzw, r1.zzzz, r3.xyzw, r2.xyzw
add r1.xy, -r2.xzxx, r2.ywyy
mad r1.xy, r1.wwww, r1.xyxx, r2.xzxx
mov o4.w, r1.x
mov o5.w, r1.y
mad o4.xz, -r0.yywy, l(-1.000000, 0.000000, 1.000000, 0.000000), l(-1.000000, 0.000000, 0.000000, 0.000000)
mad o5.xz, -r0.wwzw, l(1.000000, 0.000000, -1.000000, 0.000000), l(0.000000, 0.000000, -1.000000, 0.000000)
ret
// Approximately 55 instruction slots used

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




// ---- Created with 3Dmigoto v1.2.43 on Wed Aug 24 19:39:15 2016
//clouds in the sky...
cbuffer g_CameraParameter : register(b0)
{

struct
{
row_major float3x4 m_ViewMatrix;
row_major float3x4 m_InverseViewMatrix;
row_major float4x4 m_ViewProjectionMatrix;
row_major float4x4 m_InverseViewProjectionMatrix;
row_major float4x4 m_InverseProjectionMatrix;
row_major float4x4 m_ProjectionMatrix;
row_major float4x4 m_MainViewToProjectionMatrix;
float3 m_EyePosition;
float3 m_LookAtVector;
} g_CameraParameter : packoffset(c0);

}

cbuffer g_WorldMatrix : register(b1)
{
row_major float3x4 g_WorldMatrix : packoffset(c0);
}

cbuffer g_VSParam : register(b2)
{
float4 g_VSParam[5] : packoffset(c0);
}



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


void main(
float4 v0 : POSITION0,
float2 v1 : TEXCOORD0,
out float4 o0 : SV_POSITION0,
out float4 o1 : TEXCOORD0,
out float4 o2 : TEXCOORD4,
out float4 o3 : TEXCOORD5,
out float4 o4 : TEXCOORD6,
out float4 o5 : TEXCOORD7)
{
float4 r0,r1,r2;
uint4 bitmask, uiDest;
float4 fDest;

r0.x = dot(g_VSParam[1].xy, v0.xz);
r0.x = 0.5 + r0.x;
r0.xy = -r0.xx * r0.xx + float2(1,0.5);
r0.y = 0.5 + -abs(r0.y);
r0.y = 5 * r0.y;
r0.yz = g_VSParam[1].xy * r0.yy;
r0.yz = g_VSParam[1].ww * r0.yz;
r0.w = 1 + v0.y;
r0.yz = r0.yz * r0.ww;
r0.w = r0.w * r0.w;
r0.w = r0.w * g_VSParam[4].w + 1;
r1.x = 1 + -g_VSParam[1].w;
r1.x = g_VSParam[1].w * r0.x + r1.x;
r0.x = g_VSParam[1].w * r0.x + g_VSParam[1].z;
r1.x = v0.y * r1.x + r0.x;
r0.x = 1 + -r1.x;
r0.x = r0.x * r0.x + 1;
r2.xy = v0.xz * r0.xx;
r1.yz = r2.xy * r0.ww + r0.yz;
r1.w = 1;
r0.x = dot(g_WorldMatrix._m01_m00_m02_m03, r1.xyzw);
r0.y = dot(g_WorldMatrix._m11_m10_m12_m13, r1.xyzw);
r0.z = dot(g_WorldMatrix._m21_m20_m22_m23, r1.xyzw);
r1.x = saturate(r1.x);
r1.x = 1 + -r1.x;
r1.x = r1.x * r1.x;
r2.y = -r1.x * 1.5 + 0.5;
o2.xy = r1.yz;
r0.w = 1;
r1.x = dot(g_CameraParameter.m_ViewProjectionMatrix._m20_m21_m22_m23, r0.xyzw);
r1.y = dot(g_CameraParameter.m_ViewProjectionMatrix._m30_m31_m32_m33, r0.xyzw);
r1.z = 0.999998987 * r1.y;
o0.w = r1.y;
o0.z = min(r1.x, r1.z);
o0.x = dot(g_CameraParameter.m_ViewProjectionMatrix._m00_m01_m02_m03, r0.xyzw);
o0.y = dot(g_CameraParameter.m_ViewProjectionMatrix._m10_m11_m12_m13, r0.xyzw);
o1.xyzw = v1.xyxy;
r0.x = -r2.y * r2.y + 1;
r0.x = sqrt(r0.x);
r2.xz = v0.xz * -r0.xx;
o2.w = dot(g_VSParam[3].xyz, -r2.xyz);
o2.z = 0;
o3.xyz = r2.xyz;
o3.w = 0;
r0.x = dot(g_VSParam[2].xy, v0.xz);
r0.x = 0.5 + r0.x;
r0.x = g_VSParam[2].z * r0.x + g_VSParam[2].w;
o4.w = 1 + -r0.x;
o5.w = r0.x;
r0.xz = float2(-1,1) * v0.zx;
r0.y = 0;
o4.xyz = r0.xyz;
r1.xyz = r2.zxy * r0.yzx;
o5.xyz = r2.yzx * r0.zxy + -r1.xyz;




return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// using 3Dmigoto v1.2.43 on Wed Aug 24 19:39:15 2016
//
//
// Buffer Definitions:
//
// cbuffer g_CameraParameter
// {
//
// struct CameraParameter
// {
//
// row_major float3x4 m_ViewMatrix;// Offset: 0
// row_major float3x4 m_InverseViewMatrix;// Offset: 48
// row_major float4x4 m_ViewProjectionMatrix;// Offset: 96
// row_major float4x4 m_InverseViewProjectionMatrix;// Offset: 160
// row_major float4x4 m_InverseProjectionMatrix;// Offset: 224
// row_major float4x4 m_ProjectionMatrix;// Offset: 288
// row_major float4x4 m_MainViewToProjectionMatrix;// Offset: 352
// float3 m_EyePosition; // Offset: 416
// float3 m_LookAtVector; // Offset: 432
//
// } g_CameraParameter; // Offset: 0 Size: 444
//
// }
//
// cbuffer g_WorldMatrix
// {
//
// row_major float3x4 g_WorldMatrix; // Offset: 0 Size: 48
//
// }
//
// cbuffer g_VSParam
// {
//
// float4 g_VSParam[5]; // Offset: 0 Size: 80
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// g_CameraParameter cbuffer NA NA 0 1
// g_WorldMatrix cbuffer NA NA 1 1
// g_VSParam cbuffer NA NA 2 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION 0 xyzw 0 NONE float xyz
// TEXCOORD 0 xy 1 NONE float xy
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION 0 xyzw 0 POS float xyzw
// TEXCOORD 0 xyzw 1 NONE float xyzw
// TEXCOORD 4 xyzw 2 NONE float xyzw
// TEXCOORD 5 xyzw 3 NONE float xyzw
// TEXCOORD 6 xyzw 4 NONE float xyzw
// TEXCOORD 7 xyzw 5 NONE float xyzw
//
vs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[10], immediateIndexed
dcl_constantbuffer cb1[3], immediateIndexed
dcl_constantbuffer cb2[5], immediateIndexed
dcl_input v0.xyz
dcl_input v1.xy
dcl_output_siv o0.xyzw, position
dcl_output o1.xyzw
dcl_output o2.xyzw
dcl_output o3.xyzw
dcl_output o4.xyzw
dcl_output o5.xyzw
dcl_temps 3
dp2 r0.x, cb2[1].xyxx, v0.xzxx
add r0.x, r0.x, l(0.500000)
mad r0.xy, -r0.xxxx, r0.xxxx, l(1.000000, 0.500000, 0.000000, 0.000000)
add r0.y, -|r0.y|, l(0.500000)
mul r0.y, r0.y, l(5.000000)
mul r0.yz, r0.yyyy, cb2[1].xxyx
mul r0.yz, r0.yyzy, cb2[1].wwww
add r0.w, v0.y, l(1.000000)
mul r0.yz, r0.wwww, r0.yyzy
mul r0.w, r0.w, r0.w
mad r0.w, r0.w, cb2[4].w, l(1.000000)
add r1.x, -cb2[1].w, l(1.000000)
mad r1.x, cb2[1].w, r0.x, r1.x
mad r0.x, cb2[1].w, r0.x, cb2[1].z
mad r1.x, v0.y, r1.x, r0.x
add r0.x, -r1.x, l(1.000000)
mad r0.x, r0.x, r0.x, l(1.000000)
mul r2.xy, r0.xxxx, v0.xzxx
mad r1.yz, r2.xxyx, r0.wwww, r0.yyzy
mov r1.w, l(1.000000)
dp4 r0.x, cb1[0].yxzw, r1.xyzw
dp4 r0.y, cb1[1].yxzw, r1.xyzw
dp4 r0.z, cb1[2].yxzw, r1.xyzw
mov_sat r1.x, r1.x
add r1.x, -r1.x, l(1.000000)
mul r1.x, r1.x, r1.x
mad r2.y, -r1.x, l(1.500000), l(0.500000)
mov o2.xy, r1.yzyy
mov r0.w, l(1.000000)
dp4 r1.x, cb0[8].xyzw, r0.xyzw
dp4 r1.y, cb0[9].xyzw, r0.xyzw
mul r1.z, r1.y, l(0.999999)
mov o0.w, r1.y
min o0.z, r1.z, r1.x
dp4 o0.x, cb0[6].xyzw, r0.xyzw
dp4 o0.y, cb0[7].xyzw, r0.xyzw
mov o1.xyzw, v1.xyxy
mad r0.x, -r2.y, r2.y, l(1.000000)
sqrt r0.x, r0.x
mul r2.xz, -r0.xxxx, v0.xxzx
dp3 o2.w, cb2[3].xyzx, -r2.xyzx
mov o2.z, l(0)
mov o3.xyz, r2.xyzx
mov o3.w, l(0)
dp2 r0.x, cb2[2].xyxx, v0.xzxx
add r0.x, r0.x, l(0.500000)
mad r0.x, cb2[2].z, r0.x, cb2[2].w
add o4.w, -r0.x, l(1.000000)
mov o5.w, r0.x
mul r0.xz, v0.zzxz, l(-1.000000, 0.000000, 1.000000, 0.000000)
mov r0.y, l(0)
mov o4.xyz, r0.xyzx
mul r1.xyz, r0.yzxy, r2.zxyz
mad o5.xyz, r2.yzxy, r0.zxyz, -r1.xyzx
ret
// Approximately 55 instruction slots used

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




Now I checked the night cloud they seem to be the same ASM file.. everytime I scolled through the shaders these same 2 files showed for the clouds or these particular shaders that happen to include clouds..

Now When I was looking at them in real time the clouds themselves where not double imaged to be in 3D.. Now why they are not doubled is the mystery or at least to me.. I am thinking for some reason this is not a 3D Object in game and is only a 2D Object which we can not turn into S3D..

Now If I am right I will have to omit the clouds out and that is that as I don't think 3D Migot will make them into a 3D Object if they are only a 2D OBject..

Well I was just looking at the image on 3D Live and changed it too anaglyph and low and behold there was no red or cyan on the clouds.. so they must be a 2DD Object rendered in game..

Could that be the issue and if it is can we change that to a 3D Object ingame with the code we have above??

On a side not I was doing some reading with those links you gave me and I did get to read up on HLSL code and got a bit of a better understanding of the file structure just need to read that 1 topic a bit more to learn more of the code.. but it definitely is being revealed better 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

Posted 08/30/2016 05:35 AM   
That's a good spot for cloud manipulation, much more clear than the others. I was not clear in the last comment, I meant make two screenshots, one with the shader itself disabled, and one with it enabled. That makes it much more clear to me what is going on. It also verifies that you have exactly the right shader. I don't think the clouds are going to be a strictly 2D effect. That is super, super rare, and it's unlikely this game is doing that. There is no way to differentiate visually a shader that is drawing at screen-depth, and a 2D object. So, let's back up a bit and concentrate on these clouds. Why do we have TWO shaders? Do both impact the clouds equally, or does one seem more important? Add the o0=0; line to the end of one or both and F10 to reload. Figure out using that which one seems like the real cloud shader. Sometimes it's not all that clear, because there are full screen effects like haze that can seem related, but aren't. We should definitely be able to move the clouds to depth using those shaders. It's always possible that the interesting location is not the o0, the PS might do something bizarre. Lots of possibilities, but let's go a step at a time. Set o0=0; at the end, and make sure the clouds disappear to start. That will clarify two things. First, that we have the right shader, and second, that we can successfully modify its result. Edit: The reason the clouds are not doubled is because the Nvidia driver made a mistake and did not stereoize the o0. Normally it does, but has heuristics that sometimes make mistakes. What we want to do with the depth*convergence code is to add that stereoization, the prime directive.
That's a good spot for cloud manipulation, much more clear than the others.

I was not clear in the last comment, I meant make two screenshots, one with the shader itself disabled, and one with it enabled. That makes it much more clear to me what is going on. It also verifies that you have exactly the right shader.

I don't think the clouds are going to be a strictly 2D effect. That is super, super rare, and it's unlikely this game is doing that. There is no way to differentiate visually a shader that is drawing at screen-depth, and a 2D object.


So, let's back up a bit and concentrate on these clouds. Why do we have TWO shaders? Do both impact the clouds equally, or does one seem more important?

Add the o0=0; line to the end of one or both and F10 to reload. Figure out using that which one seems like the real cloud shader. Sometimes it's not all that clear, because there are full screen effects like haze that can seem related, but aren't.


We should definitely be able to move the clouds to depth using those shaders. It's always possible that the interesting location is not the o0, the PS might do something bizarre. Lots of possibilities, but let's go a step at a time.

Set o0=0; at the end, and make sure the clouds disappear to start. That will clarify two things. First, that we have the right shader, and second, that we can successfully modify its result.


Edit: The reason the clouds are not doubled is because the Nvidia driver made a mistake and did not stereoize the o0. Normally it does, but has heuristics that sometimes make mistakes. What we want to do with the depth*convergence code is to add that stereoization, the prime directive.

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

Posted 08/30/2016 08:24 AM   
OK I did as you requested and have the new screenshots.. when I added the o0=0 code the clouds disappeared.. the reason there is 2 sets of shaders as there are 2 different sets of clouds in the sky.. 1 Group are like Cumulus clouds and the other is more of a whispy clouds.. you will see in the screenshots I will post next: http://photos.3dvisionlive.com/The_Nephilim/image/57c58da4e7e564566d0000ca/ now the next screenshot is with the clouds disabled note the big Cumulus disappeared and left the wispy ones: http://photos.3dvisionlive.com/The_Nephilim/image/57c58e54e7e564645200022e/ now this next screenshot shows the 2nd set of clouds only the wispy ones..So that is why we have 2 sets of shaders: http://photos.3dvisionlive.com/The_Nephilim/image/57c58e54e7e564645200022e/ the next shows the wispy clouds gone when I disabled the shader: http://photos.3dvisionlive.com/The_Nephilim/image/57c58f8be7e564c14a0000b1/ I checked to see which shader file was which and I narrowed them down and named them so we know which one is which.. This first code is for the Cumulus clouds: [code] // ---- Created with 3Dmigoto v1.2.43 on Wed Aug 24 19:39:15 2016 //Cumulus clouds in the sky... cbuffer g_CameraParameter : register(b0) { struct { row_major float3x4 m_ViewMatrix; row_major float3x4 m_InverseViewMatrix; row_major float4x4 m_ViewProjectionMatrix; row_major float4x4 m_InverseViewProjectionMatrix; row_major float4x4 m_InverseProjectionMatrix; row_major float4x4 m_ProjectionMatrix; row_major float4x4 m_MainViewToProjectionMatrix; float3 m_EyePosition; float3 m_LookAtVector; } g_CameraParameter : packoffset(c0); } cbuffer g_WorldMatrix : register(b1) { row_major float3x4 g_WorldMatrix : packoffset(c0); } cbuffer g_VSParam : register(b2) { float4 g_VSParam[5] : packoffset(c0); } // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); void main( float4 v0 : POSITION0, float2 v1 : TEXCOORD0, out float4 o0 : SV_POSITION0, out float4 o1 : TEXCOORD0, out float4 o2 : TEXCOORD4, out float4 o3 : TEXCOORD5, out float4 o4 : TEXCOORD6, out float4 o5 : TEXCOORD7) { float4 r0,r1,r2; uint4 bitmask, uiDest; float4 fDest; r0.x = dot(g_VSParam[1].xy, v0.xz); r0.x = 0.5 + r0.x; r0.xy = -r0.xx * r0.xx + float2(1,0.5); r0.y = 0.5 + -abs(r0.y); r0.y = 5 * r0.y; r0.yz = g_VSParam[1].xy * r0.yy; r0.yz = g_VSParam[1].ww * r0.yz; r0.w = 1 + v0.y; r0.yz = r0.yz * r0.ww; r0.w = r0.w * r0.w; r0.w = r0.w * g_VSParam[4].w + 1; r1.x = 1 + -g_VSParam[1].w; r1.x = g_VSParam[1].w * r0.x + r1.x; r0.x = g_VSParam[1].w * r0.x + g_VSParam[1].z; r1.x = v0.y * r1.x + r0.x; r0.x = 1 + -r1.x; r0.x = r0.x * r0.x + 1; r2.xy = v0.xz * r0.xx; r1.yz = r2.xy * r0.ww + r0.yz; r1.w = 1; r0.x = dot(g_WorldMatrix._m01_m00_m02_m03, r1.xyzw); r0.y = dot(g_WorldMatrix._m11_m10_m12_m13, r1.xyzw); r0.z = dot(g_WorldMatrix._m21_m20_m22_m23, r1.xyzw); r1.x = saturate(r1.x); r1.x = 1 + -r1.x; r1.x = r1.x * r1.x; r2.y = -r1.x * 1.5 + 0.5; o2.xy = r1.yz; r0.w = 1; r1.x = dot(g_CameraParameter.m_ViewProjectionMatrix._m20_m21_m22_m23, r0.xyzw); r1.y = dot(g_CameraParameter.m_ViewProjectionMatrix._m30_m31_m32_m33, r0.xyzw); r1.z = 0.999998987 * r1.y; o0.w = r1.y; o0.z = min(r1.x, r1.z); o0.x = dot(g_CameraParameter.m_ViewProjectionMatrix._m00_m01_m02_m03, r0.xyzw); o0.y = dot(g_CameraParameter.m_ViewProjectionMatrix._m10_m11_m12_m13, r0.xyzw); o1.xyzw = v1.xyxy; r0.x = -r2.y * r2.y + 1; r0.x = sqrt(r0.x); r2.xz = v0.xz * -r0.xx; o2.w = dot(g_VSParam[3].xyz, -r2.xyz); o2.z = 0; o3.xyz = r2.xyz; o3.w = 0; r0.x = dot(g_VSParam[2].xy, v0.xz); r0.x = 0.5 + r0.x; r0.x = g_VSParam[2].z * r0.x + g_VSParam[2].w; o4.w = 1 + -r0.x; o5.w = r0.x; r0.xz = float2(-1,1) * v0.zx; r0.y = 0; o4.xyz = r0.xyz; r1.xyz = r2.zxy * r0.yzx; o5.xyz = r2.yzx * r0.zxy + -r1.xyz; o0=0; return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 // // using 3Dmigoto v1.2.43 on Wed Aug 24 19:39:15 2016 // // // Buffer Definitions: // // cbuffer g_CameraParameter // { // // struct CameraParameter // { // // row_major float3x4 m_ViewMatrix;// Offset: 0 // row_major float3x4 m_InverseViewMatrix;// Offset: 48 // row_major float4x4 m_ViewProjectionMatrix;// Offset: 96 // row_major float4x4 m_InverseViewProjectionMatrix;// Offset: 160 // row_major float4x4 m_InverseProjectionMatrix;// Offset: 224 // row_major float4x4 m_ProjectionMatrix;// Offset: 288 // row_major float4x4 m_MainViewToProjectionMatrix;// Offset: 352 // float3 m_EyePosition; // Offset: 416 // float3 m_LookAtVector; // Offset: 432 // // } g_CameraParameter; // Offset: 0 Size: 444 // // } // // cbuffer g_WorldMatrix // { // // row_major float3x4 g_WorldMatrix; // Offset: 0 Size: 48 // // } // // cbuffer g_VSParam // { // // float4 g_VSParam[5]; // Offset: 0 Size: 80 // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // g_CameraParameter cbuffer NA NA 0 1 // g_WorldMatrix cbuffer NA NA 1 1 // g_VSParam cbuffer NA NA 2 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // POSITION 0 xyzw 0 NONE float xyz // TEXCOORD 0 xy 1 NONE float xy // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_POSITION 0 xyzw 0 POS float xyzw // TEXCOORD 0 xyzw 1 NONE float xyzw // TEXCOORD 4 xyzw 2 NONE float xyzw // TEXCOORD 5 xyzw 3 NONE float xyzw // TEXCOORD 6 xyzw 4 NONE float xyzw // TEXCOORD 7 xyzw 5 NONE float xyzw // vs_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb0[10], immediateIndexed dcl_constantbuffer cb1[3], immediateIndexed dcl_constantbuffer cb2[5], immediateIndexed dcl_input v0.xyz dcl_input v1.xy dcl_output_siv o0.xyzw, position dcl_output o1.xyzw dcl_output o2.xyzw dcl_output o3.xyzw dcl_output o4.xyzw dcl_output o5.xyzw dcl_temps 3 dp2 r0.x, cb2[1].xyxx, v0.xzxx add r0.x, r0.x, l(0.500000) mad r0.xy, -r0.xxxx, r0.xxxx, l(1.000000, 0.500000, 0.000000, 0.000000) add r0.y, -|r0.y|, l(0.500000) mul r0.y, r0.y, l(5.000000) mul r0.yz, r0.yyyy, cb2[1].xxyx mul r0.yz, r0.yyzy, cb2[1].wwww add r0.w, v0.y, l(1.000000) mul r0.yz, r0.wwww, r0.yyzy mul r0.w, r0.w, r0.w mad r0.w, r0.w, cb2[4].w, l(1.000000) add r1.x, -cb2[1].w, l(1.000000) mad r1.x, cb2[1].w, r0.x, r1.x mad r0.x, cb2[1].w, r0.x, cb2[1].z mad r1.x, v0.y, r1.x, r0.x add r0.x, -r1.x, l(1.000000) mad r0.x, r0.x, r0.x, l(1.000000) mul r2.xy, r0.xxxx, v0.xzxx mad r1.yz, r2.xxyx, r0.wwww, r0.yyzy mov r1.w, l(1.000000) dp4 r0.x, cb1[0].yxzw, r1.xyzw dp4 r0.y, cb1[1].yxzw, r1.xyzw dp4 r0.z, cb1[2].yxzw, r1.xyzw mov_sat r1.x, r1.x add r1.x, -r1.x, l(1.000000) mul r1.x, r1.x, r1.x mad r2.y, -r1.x, l(1.500000), l(0.500000) mov o2.xy, r1.yzyy mov r0.w, l(1.000000) dp4 r1.x, cb0[8].xyzw, r0.xyzw dp4 r1.y, cb0[9].xyzw, r0.xyzw mul r1.z, r1.y, l(0.999999) mov o0.w, r1.y min o0.z, r1.z, r1.x dp4 o0.x, cb0[6].xyzw, r0.xyzw dp4 o0.y, cb0[7].xyzw, r0.xyzw mov o1.xyzw, v1.xyxy mad r0.x, -r2.y, r2.y, l(1.000000) sqrt r0.x, r0.x mul r2.xz, -r0.xxxx, v0.xxzx dp3 o2.w, cb2[3].xyzx, -r2.xyzx mov o2.z, l(0) mov o3.xyz, r2.xyzx mov o3.w, l(0) dp2 r0.x, cb2[2].xyxx, v0.xzxx add r0.x, r0.x, l(0.500000) mad r0.x, cb2[2].z, r0.x, cb2[2].w add o4.w, -r0.x, l(1.000000) mov o5.w, r0.x mul r0.xz, v0.zzxz, l(-1.000000, 0.000000, 1.000000, 0.000000) mov r0.y, l(0) mov o4.xyz, r0.xyzx mul r1.xyz, r0.yzxy, r2.zxyz mad o5.xyz, r2.yzxy, r0.zxyz, -r1.xyzx ret // Approximately 55 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] this next code file is for the wispy clouds: [code] // ---- Created with 3Dmigoto v1.2.43 on Fri Aug 26 22:45:09 2016 //Few wispy Clouds in sky.. cbuffer g_CameraParameter : register(b0) { struct { row_major float3x4 m_ViewMatrix; row_major float3x4 m_InverseViewMatrix; row_major float4x4 m_ViewProjectionMatrix; row_major float4x4 m_InverseViewProjectionMatrix; row_major float4x4 m_InverseProjectionMatrix; row_major float4x4 m_ProjectionMatrix; row_major float4x4 m_MainViewToProjectionMatrix; float3 m_EyePosition; float3 m_LookAtVector; } g_CameraParameter : packoffset(c0); } cbuffer g_WorldMatrix : register(b1) { row_major float3x4 g_WorldMatrix : packoffset(c0); } cbuffer g_VSParam : register(b2) { float4 g_VSParam[5] : packoffset(c0); } cbuffer g_PSParam : register(b3) { float4 g_PSParam[5] : packoffset(c0); } // 3Dmigoto declarations #define cmp - Texture1D<float4> IniParams : register(t120); Texture2D<float4> StereoParams : register(t125); void main( float4 v0 : POSITION0, float2 v1 : TEXCOORD0, out float4 o0 : SV_POSITION0, out float4 o1 : TEXCOORD0, out float4 o2 : TEXCOORD4, out float4 o3 : TEXCOORD5, out float4 o4 : TEXCOORD6, out float4 o5 : TEXCOORD7) { float4 r0,r1,r2,r3; uint4 bitmask, uiDest; float4 fDest; r0.w = 1; r1.xyz = v0.xyz; r1.w = 1; r0.x = dot(g_WorldMatrix._m00_m01_m02_m03, r1.xyzw); r0.y = dot(g_WorldMatrix._m10_m11_m12_m13, r1.xyzw); r0.z = dot(g_WorldMatrix._m20_m21_m22_m23, r1.xyzw); r1.x = dot(g_CameraParameter.m_ViewProjectionMatrix._m30_m31_m32_m33, r0.xyzw); r1.y = 0.999998987 * r1.x; o0.w = r1.x; r1.x = dot(g_CameraParameter.m_ViewProjectionMatrix._m20_m21_m22_m23, r0.xyzw); o0.z = min(r1.x, r1.y); o0.x = dot(g_CameraParameter.m_ViewProjectionMatrix._m00_m01_m02_m03, r0.xyzw); o0.y = dot(g_CameraParameter.m_ViewProjectionMatrix._m10_m11_m12_m13, r0.xyzw); r0.xyz = g_VSParam[4].xyz + -r0.xyz; r1.xyzw = v1.xyxy * float4(0.5,0.5,0.5,0.5) + float4(0.5,0.5,0.5,0.5); r2.xyzw = g_VSParam[0].zwzw + r1.xyzw; o1.xyzw = g_VSParam[0].xyxy * r2.xyzw; r0.w = dot(r0.xyz, r0.xyz); r0.w = rsqrt(r0.w); r2.xyz = r0.xyz * r0.www; r0.xyz = -r0.xyz * r0.www + float3(0,-1,0); r0.xyz = g_PSParam[0].www * r0.xyz + r2.xyz; o2.w = dot(g_VSParam[3].xyz, -r0.xyz); o2.z = dot(v0.xz, v0.xz); o2.xy = v0.xz; r0.w = -g_VSParam[3].y + r0.y; r0.y = dot(r0.xzw, r0.xzw); r0.y = rsqrt(r0.y); r2.xyz = r0.xwz * r0.yyy; r0.x = -r0.w * r0.y + 1; r0.x = r0.x + r0.x; r0.x = sqrt(r0.x); o3.xyz = r2.xyz; o3.w = 0; r0.yz = float2(0,-1) * r2.yx; r0.yzw = r2.yzy * float3(0,-1,0) + -r0.zyz; r0.yzw = r0.yzw / r0.xxx; r0.x = 0.5 * r0.x; r1.xy = r0.wz + r0.wz; r0.yzw = r1.xyy * r0.yzw; r1.xy = r1.xy * r0.xx; o4.y = -r1.x; o5.y = r1.y; r2.xy = g_VSParam[1].xz; r3.xy = g_VSParam[1].yw + -r2.xy; r2.zw = g_VSParam[2].xz; r3.zw = g_VSParam[2].yw + -r2.zw; r2.xyzw = r1.zzzz * r3.xyzw + r2.xyzw; r1.xy = r2.yw + -r2.xz; r1.xy = r1.ww * r1.xy + r2.xz; o4.w = r1.x; o5.w = r1.y; o4.xz = -r0.yw * float2(-1,1) + float2(-1,0); o5.xz = -r0.wz * float2(1,-1) + float2(0,-1); return; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111 // // using 3Dmigoto v1.2.43 on Fri Aug 26 22:45:09 2016 // // // Buffer Definitions: // // cbuffer g_CameraParameter // { // // struct CameraParameter // { // // row_major float3x4 m_ViewMatrix;// Offset: 0 // row_major float3x4 m_InverseViewMatrix;// Offset: 48 // row_major float4x4 m_ViewProjectionMatrix;// Offset: 96 // row_major float4x4 m_InverseViewProjectionMatrix;// Offset: 160 // row_major float4x4 m_InverseProjectionMatrix;// Offset: 224 // row_major float4x4 m_ProjectionMatrix;// Offset: 288 // row_major float4x4 m_MainViewToProjectionMatrix;// Offset: 352 // float3 m_EyePosition; // Offset: 416 // float3 m_LookAtVector; // Offset: 432 // // } g_CameraParameter; // Offset: 0 Size: 444 // // } // // cbuffer g_WorldMatrix // { // // row_major float3x4 g_WorldMatrix; // Offset: 0 Size: 48 // // } // // cbuffer g_VSParam // { // // float4 g_VSParam[5]; // Offset: 0 Size: 80 // // } // // cbuffer g_PSParam // { // // float4 g_PSParam[5]; // Offset: 0 Size: 80 // // } // // // Resource Bindings: // // Name Type Format Dim Slot Elements // ------------------------------ ---------- ------- ----------- ---- -------- // g_CameraParameter cbuffer NA NA 0 1 // g_WorldMatrix cbuffer NA NA 1 1 // g_VSParam cbuffer NA NA 2 1 // g_PSParam cbuffer NA NA 3 1 // // // // Input signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // POSITION 0 xyzw 0 NONE float xyz // TEXCOORD 0 xy 1 NONE float xy // // // Output signature: // // Name Index Mask Register SysValue Format Used // -------------------- ----- ------ -------- -------- ------- ------ // SV_POSITION 0 xyzw 0 POS float xyzw // TEXCOORD 0 xyzw 1 NONE float xyzw // TEXCOORD 4 xyzw 2 NONE float xyzw // TEXCOORD 5 xyzw 3 NONE float xyzw // TEXCOORD 6 xyzw 4 NONE float xyzw // TEXCOORD 7 xyzw 5 NONE float xyzw // vs_5_0 dcl_globalFlags refactoringAllowed dcl_constantbuffer cb0[10], immediateIndexed dcl_constantbuffer cb1[3], immediateIndexed dcl_constantbuffer cb2[5], immediateIndexed dcl_constantbuffer cb3[1], immediateIndexed dcl_input v0.xyz dcl_input v1.xy dcl_output_siv o0.xyzw, position dcl_output o1.xyzw dcl_output o2.xyzw dcl_output o3.xyzw dcl_output o4.xyzw dcl_output o5.xyzw dcl_temps 4 mov r0.w, l(1.000000) mov r1.xyz, v0.xyzx mov r1.w, l(1.000000) dp4 r0.x, cb1[0].xyzw, r1.xyzw dp4 r0.y, cb1[1].xyzw, r1.xyzw dp4 r0.z, cb1[2].xyzw, r1.xyzw dp4 r1.x, cb0[9].xyzw, r0.xyzw mul r1.y, r1.x, l(0.999999) mov o0.w, r1.x dp4 r1.x, cb0[8].xyzw, r0.xyzw min o0.z, r1.y, r1.x dp4 o0.x, cb0[6].xyzw, r0.xyzw dp4 o0.y, cb0[7].xyzw, r0.xyzw add r0.xyz, -r0.xyzx, cb2[4].xyzx mad r1.xyzw, v1.xyxy, l(0.500000, 0.500000, 0.500000, 0.500000), l(0.500000, 0.500000, 0.500000, 0.500000) add r2.xyzw, r1.xyzw, cb2[0].zwzw mul o1.xyzw, r2.xyzw, cb2[0].xyxy dp3 r0.w, r0.xyzx, r0.xyzx rsq r0.w, r0.w mul r2.xyz, r0.wwww, r0.xyzx mad r0.xyz, -r0.xyzx, r0.wwww, l(0.000000, -1.000000, 0.000000, 0.000000) mad r0.xyz, cb3[0].wwww, r0.xyzx, r2.xyzx dp3 o2.w, cb2[3].xyzx, -r0.xyzx dp2 o2.z, v0.xzxx, v0.xzxx mov o2.xy, v0.xzxx add r0.w, r0.y, -cb2[3].y dp3 r0.y, r0.xzwx, r0.xzwx rsq r0.y, r0.y mul r2.xyz, r0.yyyy, r0.xwzx mad r0.x, -r0.w, r0.y, l(1.000000) add r0.x, r0.x, r0.x sqrt r0.x, r0.x mov o3.xyz, r2.xyzx mov o3.w, l(0) mul r0.yz, r2.yyxy, l(0.000000, 0.000000, -1.000000, 0.000000) mad r0.yzw, r2.yyzy, l(0.000000, 0.000000, -1.000000, 0.000000), -r0.zzyz div r0.yzw, r0.yyzw, r0.xxxx mul r0.x, r0.x, l(0.500000) add r1.xy, r0.wzww, r0.wzww mul r0.yzw, r0.yyzw, r1.xxyy mul r1.xy, r0.xxxx, r1.xyxx mov o4.y, -r1.x mov o5.y, r1.y mov r2.xy, cb2[1].xzxx add r3.xy, -r2.xyxx, cb2[1].ywyy mov r2.zw, cb2[2].xxxz add r3.zw, -r2.zzzw, cb2[2].yyyw mad r2.xyzw, r1.zzzz, r3.xyzw, r2.xyzw add r1.xy, -r2.xzxx, r2.ywyy mad r1.xy, r1.wwww, r1.xyxx, r2.xzxx mov o4.w, r1.x mov o5.w, r1.y mad o4.xz, -r0.yywy, l(-1.000000, 0.000000, 1.000000, 0.000000), l(-1.000000, 0.000000, 0.000000, 0.000000) mad o5.xz, -r0.wwzw, l(1.000000, 0.000000, -1.000000, 0.000000), l(0.000000, 0.000000, -1.000000, 0.000000) ret // Approximately 55 instruction slots used ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ [/code] I am going to look at the code and get familiar with I.. so hopefully you see something here and I did this right to get these clouds fixed.. I think that is the last thing besides shadows that need to be fixed here..
OK I did as you requested and have the new screenshots.. when I added the o0=0 code the clouds disappeared.. the reason there is 2 sets of shaders as there are 2 different sets of clouds in the sky..

1 Group are like Cumulus clouds and the other is more of a whispy clouds.. you will see in the screenshots I will post next:



http://photos.3dvisionlive.com/The_Nephilim/image/57c58da4e7e564566d0000ca/



now the next screenshot is with the clouds disabled note the big Cumulus disappeared and left the wispy ones:


http://photos.3dvisionlive.com/The_Nephilim/image/57c58e54e7e564645200022e/



now this next screenshot shows the 2nd set of clouds only the wispy ones..So that is why we have 2 sets of shaders:


http://photos.3dvisionlive.com/The_Nephilim/image/57c58e54e7e564645200022e/



the next shows the wispy clouds gone when I disabled the shader:



http://photos.3dvisionlive.com/The_Nephilim/image/57c58f8be7e564c14a0000b1/



I checked to see which shader file was which and I narrowed them down and named them so we know which one is which..


This first code is for the Cumulus clouds:

// ---- Created with 3Dmigoto v1.2.43 on Wed Aug 24 19:39:15 2016
//Cumulus clouds in the sky...
cbuffer g_CameraParameter : register(b0)
{

struct
{
row_major float3x4 m_ViewMatrix;
row_major float3x4 m_InverseViewMatrix;
row_major float4x4 m_ViewProjectionMatrix;
row_major float4x4 m_InverseViewProjectionMatrix;
row_major float4x4 m_InverseProjectionMatrix;
row_major float4x4 m_ProjectionMatrix;
row_major float4x4 m_MainViewToProjectionMatrix;
float3 m_EyePosition;
float3 m_LookAtVector;
} g_CameraParameter : packoffset(c0);

}

cbuffer g_WorldMatrix : register(b1)
{
row_major float3x4 g_WorldMatrix : packoffset(c0);
}

cbuffer g_VSParam : register(b2)
{
float4 g_VSParam[5] : packoffset(c0);
}



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


void main(
float4 v0 : POSITION0,
float2 v1 : TEXCOORD0,
out float4 o0 : SV_POSITION0,
out float4 o1 : TEXCOORD0,
out float4 o2 : TEXCOORD4,
out float4 o3 : TEXCOORD5,
out float4 o4 : TEXCOORD6,
out float4 o5 : TEXCOORD7)
{
float4 r0,r1,r2;
uint4 bitmask, uiDest;
float4 fDest;

r0.x = dot(g_VSParam[1].xy, v0.xz);
r0.x = 0.5 + r0.x;
r0.xy = -r0.xx * r0.xx + float2(1,0.5);
r0.y = 0.5 + -abs(r0.y);
r0.y = 5 * r0.y;
r0.yz = g_VSParam[1].xy * r0.yy;
r0.yz = g_VSParam[1].ww * r0.yz;
r0.w = 1 + v0.y;
r0.yz = r0.yz * r0.ww;
r0.w = r0.w * r0.w;
r0.w = r0.w * g_VSParam[4].w + 1;
r1.x = 1 + -g_VSParam[1].w;
r1.x = g_VSParam[1].w * r0.x + r1.x;
r0.x = g_VSParam[1].w * r0.x + g_VSParam[1].z;
r1.x = v0.y * r1.x + r0.x;
r0.x = 1 + -r1.x;
r0.x = r0.x * r0.x + 1;
r2.xy = v0.xz * r0.xx;
r1.yz = r2.xy * r0.ww + r0.yz;
r1.w = 1;
r0.x = dot(g_WorldMatrix._m01_m00_m02_m03, r1.xyzw);
r0.y = dot(g_WorldMatrix._m11_m10_m12_m13, r1.xyzw);
r0.z = dot(g_WorldMatrix._m21_m20_m22_m23, r1.xyzw);
r1.x = saturate(r1.x);
r1.x = 1 + -r1.x;
r1.x = r1.x * r1.x;
r2.y = -r1.x * 1.5 + 0.5;
o2.xy = r1.yz;
r0.w = 1;
r1.x = dot(g_CameraParameter.m_ViewProjectionMatrix._m20_m21_m22_m23, r0.xyzw);
r1.y = dot(g_CameraParameter.m_ViewProjectionMatrix._m30_m31_m32_m33, r0.xyzw);
r1.z = 0.999998987 * r1.y;
o0.w = r1.y;
o0.z = min(r1.x, r1.z);
o0.x = dot(g_CameraParameter.m_ViewProjectionMatrix._m00_m01_m02_m03, r0.xyzw);
o0.y = dot(g_CameraParameter.m_ViewProjectionMatrix._m10_m11_m12_m13, r0.xyzw);
o1.xyzw = v1.xyxy;
r0.x = -r2.y * r2.y + 1;
r0.x = sqrt(r0.x);
r2.xz = v0.xz * -r0.xx;
o2.w = dot(g_VSParam[3].xyz, -r2.xyz);
o2.z = 0;
o3.xyz = r2.xyz;
o3.w = 0;
r0.x = dot(g_VSParam[2].xy, v0.xz);
r0.x = 0.5 + r0.x;
r0.x = g_VSParam[2].z * r0.x + g_VSParam[2].w;
o4.w = 1 + -r0.x;
o5.w = r0.x;
r0.xz = float2(-1,1) * v0.zx;
r0.y = 0;
o4.xyz = r0.xyz;
r1.xyz = r2.zxy * r0.yzx;
o5.xyz = r2.yzx * r0.zxy + -r1.xyz;

o0=0;


return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// using 3Dmigoto v1.2.43 on Wed Aug 24 19:39:15 2016
//
//
// Buffer Definitions:
//
// cbuffer g_CameraParameter
// {
//
// struct CameraParameter
// {
//
// row_major float3x4 m_ViewMatrix;// Offset: 0
// row_major float3x4 m_InverseViewMatrix;// Offset: 48
// row_major float4x4 m_ViewProjectionMatrix;// Offset: 96
// row_major float4x4 m_InverseViewProjectionMatrix;// Offset: 160
// row_major float4x4 m_InverseProjectionMatrix;// Offset: 224
// row_major float4x4 m_ProjectionMatrix;// Offset: 288
// row_major float4x4 m_MainViewToProjectionMatrix;// Offset: 352
// float3 m_EyePosition; // Offset: 416
// float3 m_LookAtVector; // Offset: 432
//
// } g_CameraParameter; // Offset: 0 Size: 444
//
// }
//
// cbuffer g_WorldMatrix
// {
//
// row_major float3x4 g_WorldMatrix; // Offset: 0 Size: 48
//
// }
//
// cbuffer g_VSParam
// {
//
// float4 g_VSParam[5]; // Offset: 0 Size: 80
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// g_CameraParameter cbuffer NA NA 0 1
// g_WorldMatrix cbuffer NA NA 1 1
// g_VSParam cbuffer NA NA 2 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION 0 xyzw 0 NONE float xyz
// TEXCOORD 0 xy 1 NONE float xy
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION 0 xyzw 0 POS float xyzw
// TEXCOORD 0 xyzw 1 NONE float xyzw
// TEXCOORD 4 xyzw 2 NONE float xyzw
// TEXCOORD 5 xyzw 3 NONE float xyzw
// TEXCOORD 6 xyzw 4 NONE float xyzw
// TEXCOORD 7 xyzw 5 NONE float xyzw
//
vs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[10], immediateIndexed
dcl_constantbuffer cb1[3], immediateIndexed
dcl_constantbuffer cb2[5], immediateIndexed
dcl_input v0.xyz
dcl_input v1.xy
dcl_output_siv o0.xyzw, position
dcl_output o1.xyzw
dcl_output o2.xyzw
dcl_output o3.xyzw
dcl_output o4.xyzw
dcl_output o5.xyzw
dcl_temps 3
dp2 r0.x, cb2[1].xyxx, v0.xzxx
add r0.x, r0.x, l(0.500000)
mad r0.xy, -r0.xxxx, r0.xxxx, l(1.000000, 0.500000, 0.000000, 0.000000)
add r0.y, -|r0.y|, l(0.500000)
mul r0.y, r0.y, l(5.000000)
mul r0.yz, r0.yyyy, cb2[1].xxyx
mul r0.yz, r0.yyzy, cb2[1].wwww
add r0.w, v0.y, l(1.000000)
mul r0.yz, r0.wwww, r0.yyzy
mul r0.w, r0.w, r0.w
mad r0.w, r0.w, cb2[4].w, l(1.000000)
add r1.x, -cb2[1].w, l(1.000000)
mad r1.x, cb2[1].w, r0.x, r1.x
mad r0.x, cb2[1].w, r0.x, cb2[1].z
mad r1.x, v0.y, r1.x, r0.x
add r0.x, -r1.x, l(1.000000)
mad r0.x, r0.x, r0.x, l(1.000000)
mul r2.xy, r0.xxxx, v0.xzxx
mad r1.yz, r2.xxyx, r0.wwww, r0.yyzy
mov r1.w, l(1.000000)
dp4 r0.x, cb1[0].yxzw, r1.xyzw
dp4 r0.y, cb1[1].yxzw, r1.xyzw
dp4 r0.z, cb1[2].yxzw, r1.xyzw
mov_sat r1.x, r1.x
add r1.x, -r1.x, l(1.000000)
mul r1.x, r1.x, r1.x
mad r2.y, -r1.x, l(1.500000), l(0.500000)
mov o2.xy, r1.yzyy
mov r0.w, l(1.000000)
dp4 r1.x, cb0[8].xyzw, r0.xyzw
dp4 r1.y, cb0[9].xyzw, r0.xyzw
mul r1.z, r1.y, l(0.999999)
mov o0.w, r1.y
min o0.z, r1.z, r1.x
dp4 o0.x, cb0[6].xyzw, r0.xyzw
dp4 o0.y, cb0[7].xyzw, r0.xyzw
mov o1.xyzw, v1.xyxy
mad r0.x, -r2.y, r2.y, l(1.000000)
sqrt r0.x, r0.x
mul r2.xz, -r0.xxxx, v0.xxzx
dp3 o2.w, cb2[3].xyzx, -r2.xyzx
mov o2.z, l(0)
mov o3.xyz, r2.xyzx
mov o3.w, l(0)
dp2 r0.x, cb2[2].xyxx, v0.xzxx
add r0.x, r0.x, l(0.500000)
mad r0.x, cb2[2].z, r0.x, cb2[2].w
add o4.w, -r0.x, l(1.000000)
mov o5.w, r0.x
mul r0.xz, v0.zzxz, l(-1.000000, 0.000000, 1.000000, 0.000000)
mov r0.y, l(0)
mov o4.xyz, r0.xyzx
mul r1.xyz, r0.yzxy, r2.zxyz
mad o5.xyz, r2.yzxy, r0.zxyz, -r1.xyzx
ret
// Approximately 55 instruction slots used

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






this next code file is for the wispy clouds:


// ---- Created with 3Dmigoto v1.2.43 on Fri Aug 26 22:45:09 2016
//Few wispy Clouds in sky..
cbuffer g_CameraParameter : register(b0)
{

struct
{
row_major float3x4 m_ViewMatrix;
row_major float3x4 m_InverseViewMatrix;
row_major float4x4 m_ViewProjectionMatrix;
row_major float4x4 m_InverseViewProjectionMatrix;
row_major float4x4 m_InverseProjectionMatrix;
row_major float4x4 m_ProjectionMatrix;
row_major float4x4 m_MainViewToProjectionMatrix;
float3 m_EyePosition;
float3 m_LookAtVector;
} g_CameraParameter : packoffset(c0);

}

cbuffer g_WorldMatrix : register(b1)
{
row_major float3x4 g_WorldMatrix : packoffset(c0);
}

cbuffer g_VSParam : register(b2)
{
float4 g_VSParam[5] : packoffset(c0);
}

cbuffer g_PSParam : register(b3)
{
float4 g_PSParam[5] : packoffset(c0);
}



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


void main(
float4 v0 : POSITION0,
float2 v1 : TEXCOORD0,
out float4 o0 : SV_POSITION0,
out float4 o1 : TEXCOORD0,
out float4 o2 : TEXCOORD4,
out float4 o3 : TEXCOORD5,
out float4 o4 : TEXCOORD6,
out float4 o5 : TEXCOORD7)
{
float4 r0,r1,r2,r3;
uint4 bitmask, uiDest;
float4 fDest;

r0.w = 1;
r1.xyz = v0.xyz;
r1.w = 1;
r0.x = dot(g_WorldMatrix._m00_m01_m02_m03, r1.xyzw);
r0.y = dot(g_WorldMatrix._m10_m11_m12_m13, r1.xyzw);
r0.z = dot(g_WorldMatrix._m20_m21_m22_m23, r1.xyzw);
r1.x = dot(g_CameraParameter.m_ViewProjectionMatrix._m30_m31_m32_m33, r0.xyzw);
r1.y = 0.999998987 * r1.x;
o0.w = r1.x;
r1.x = dot(g_CameraParameter.m_ViewProjectionMatrix._m20_m21_m22_m23, r0.xyzw);
o0.z = min(r1.x, r1.y);
o0.x = dot(g_CameraParameter.m_ViewProjectionMatrix._m00_m01_m02_m03, r0.xyzw);
o0.y = dot(g_CameraParameter.m_ViewProjectionMatrix._m10_m11_m12_m13, r0.xyzw);
r0.xyz = g_VSParam[4].xyz + -r0.xyz;
r1.xyzw = v1.xyxy * float4(0.5,0.5,0.5,0.5) + float4(0.5,0.5,0.5,0.5);
r2.xyzw = g_VSParam[0].zwzw + r1.xyzw;
o1.xyzw = g_VSParam[0].xyxy * r2.xyzw;
r0.w = dot(r0.xyz, r0.xyz);
r0.w = rsqrt(r0.w);
r2.xyz = r0.xyz * r0.www;
r0.xyz = -r0.xyz * r0.www + float3(0,-1,0);
r0.xyz = g_PSParam[0].www * r0.xyz + r2.xyz;
o2.w = dot(g_VSParam[3].xyz, -r0.xyz);
o2.z = dot(v0.xz, v0.xz);
o2.xy = v0.xz;
r0.w = -g_VSParam[3].y + r0.y;
r0.y = dot(r0.xzw, r0.xzw);
r0.y = rsqrt(r0.y);
r2.xyz = r0.xwz * r0.yyy;
r0.x = -r0.w * r0.y + 1;
r0.x = r0.x + r0.x;
r0.x = sqrt(r0.x);
o3.xyz = r2.xyz;
o3.w = 0;
r0.yz = float2(0,-1) * r2.yx;
r0.yzw = r2.yzy * float3(0,-1,0) + -r0.zyz;
r0.yzw = r0.yzw / r0.xxx;
r0.x = 0.5 * r0.x;
r1.xy = r0.wz + r0.wz;
r0.yzw = r1.xyy * r0.yzw;
r1.xy = r1.xy * r0.xx;
o4.y = -r1.x;
o5.y = r1.y;
r2.xy = g_VSParam[1].xz;
r3.xy = g_VSParam[1].yw + -r2.xy;
r2.zw = g_VSParam[2].xz;
r3.zw = g_VSParam[2].yw + -r2.zw;
r2.xyzw = r1.zzzz * r3.xyzw + r2.xyzw;
r1.xy = r2.yw + -r2.xz;
r1.xy = r1.ww * r1.xy + r2.xz;
o4.w = r1.x;
o5.w = r1.y;
o4.xz = -r0.yw * float2(-1,1) + float2(-1,0);
o5.xz = -r0.wz * float2(1,-1) + float2(0,-1);



return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// using 3Dmigoto v1.2.43 on Fri Aug 26 22:45:09 2016
//
//
// Buffer Definitions:
//
// cbuffer g_CameraParameter
// {
//
// struct CameraParameter
// {
//
// row_major float3x4 m_ViewMatrix;// Offset: 0
// row_major float3x4 m_InverseViewMatrix;// Offset: 48
// row_major float4x4 m_ViewProjectionMatrix;// Offset: 96
// row_major float4x4 m_InverseViewProjectionMatrix;// Offset: 160
// row_major float4x4 m_InverseProjectionMatrix;// Offset: 224
// row_major float4x4 m_ProjectionMatrix;// Offset: 288
// row_major float4x4 m_MainViewToProjectionMatrix;// Offset: 352
// float3 m_EyePosition; // Offset: 416
// float3 m_LookAtVector; // Offset: 432
//
// } g_CameraParameter; // Offset: 0 Size: 444
//
// }
//
// cbuffer g_WorldMatrix
// {
//
// row_major float3x4 g_WorldMatrix; // Offset: 0 Size: 48
//
// }
//
// cbuffer g_VSParam
// {
//
// float4 g_VSParam[5]; // Offset: 0 Size: 80
//
// }
//
// cbuffer g_PSParam
// {
//
// float4 g_PSParam[5]; // Offset: 0 Size: 80
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// g_CameraParameter cbuffer NA NA 0 1
// g_WorldMatrix cbuffer NA NA 1 1
// g_VSParam cbuffer NA NA 2 1
// g_PSParam cbuffer NA NA 3 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION 0 xyzw 0 NONE float xyz
// TEXCOORD 0 xy 1 NONE float xy
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION 0 xyzw 0 POS float xyzw
// TEXCOORD 0 xyzw 1 NONE float xyzw
// TEXCOORD 4 xyzw 2 NONE float xyzw
// TEXCOORD 5 xyzw 3 NONE float xyzw
// TEXCOORD 6 xyzw 4 NONE float xyzw
// TEXCOORD 7 xyzw 5 NONE float xyzw
//
vs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[10], immediateIndexed
dcl_constantbuffer cb1[3], immediateIndexed
dcl_constantbuffer cb2[5], immediateIndexed
dcl_constantbuffer cb3[1], immediateIndexed
dcl_input v0.xyz
dcl_input v1.xy
dcl_output_siv o0.xyzw, position
dcl_output o1.xyzw
dcl_output o2.xyzw
dcl_output o3.xyzw
dcl_output o4.xyzw
dcl_output o5.xyzw
dcl_temps 4
mov r0.w, l(1.000000)
mov r1.xyz, v0.xyzx
mov r1.w, l(1.000000)
dp4 r0.x, cb1[0].xyzw, r1.xyzw
dp4 r0.y, cb1[1].xyzw, r1.xyzw
dp4 r0.z, cb1[2].xyzw, r1.xyzw
dp4 r1.x, cb0[9].xyzw, r0.xyzw
mul r1.y, r1.x, l(0.999999)
mov o0.w, r1.x
dp4 r1.x, cb0[8].xyzw, r0.xyzw
min o0.z, r1.y, r1.x
dp4 o0.x, cb0[6].xyzw, r0.xyzw
dp4 o0.y, cb0[7].xyzw, r0.xyzw
add r0.xyz, -r0.xyzx, cb2[4].xyzx
mad r1.xyzw, v1.xyxy, l(0.500000, 0.500000, 0.500000, 0.500000), l(0.500000, 0.500000, 0.500000, 0.500000)
add r2.xyzw, r1.xyzw, cb2[0].zwzw
mul o1.xyzw, r2.xyzw, cb2[0].xyxy
dp3 r0.w, r0.xyzx, r0.xyzx
rsq r0.w, r0.w
mul r2.xyz, r0.wwww, r0.xyzx
mad r0.xyz, -r0.xyzx, r0.wwww, l(0.000000, -1.000000, 0.000000, 0.000000)
mad r0.xyz, cb3[0].wwww, r0.xyzx, r2.xyzx
dp3 o2.w, cb2[3].xyzx, -r0.xyzx
dp2 o2.z, v0.xzxx, v0.xzxx
mov o2.xy, v0.xzxx
add r0.w, r0.y, -cb2[3].y
dp3 r0.y, r0.xzwx, r0.xzwx
rsq r0.y, r0.y
mul r2.xyz, r0.yyyy, r0.xwzx
mad r0.x, -r0.w, r0.y, l(1.000000)
add r0.x, r0.x, r0.x
sqrt r0.x, r0.x
mov o3.xyz, r2.xyzx
mov o3.w, l(0)
mul r0.yz, r2.yyxy, l(0.000000, 0.000000, -1.000000, 0.000000)
mad r0.yzw, r2.yyzy, l(0.000000, 0.000000, -1.000000, 0.000000), -r0.zzyz
div r0.yzw, r0.yyzw, r0.xxxx
mul r0.x, r0.x, l(0.500000)
add r1.xy, r0.wzww, r0.wzww
mul r0.yzw, r0.yyzw, r1.xxyy
mul r1.xy, r0.xxxx, r1.xyxx
mov o4.y, -r1.x
mov o5.y, r1.y
mov r2.xy, cb2[1].xzxx
add r3.xy, -r2.xyxx, cb2[1].ywyy
mov r2.zw, cb2[2].xxxz
add r3.zw, -r2.zzzw, cb2[2].yyyw
mad r2.xyzw, r1.zzzz, r3.xyzw, r2.xyzw
add r1.xy, -r2.xzxx, r2.ywyy
mad r1.xy, r1.wwww, r1.xyxx, r2.xzxx
mov o4.w, r1.x
mov o5.w, r1.y
mad o4.xz, -r0.yywy, l(-1.000000, 0.000000, 1.000000, 0.000000), l(-1.000000, 0.000000, 0.000000, 0.000000)
mad o5.xz, -r0.wwzw, l(1.000000, 0.000000, -1.000000, 0.000000), l(0.000000, 0.000000, -1.000000, 0.000000)
ret
// Approximately 55 instruction slots used

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




I am going to look at the code and get familiar with I.. so hopefully you see something here and I did this right to get these clouds fixed.. I think that is the last thing besides shadows that need to be fixed here..

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 08/30/2016 01:57 PM   
Well I had tried something that was in the INI file but it did not work..I figured to try a few things but so far no success. here is what I tried : [TextureOverride1] ;Hash=c3e55ebd ; NVidia stores surface creation mode heuristics in the game profile. setting ; this option overrides the creation mode for a given texture / buffer. ; 0 = NVAPI_STEREO_SURFACECREATEMODE_AUTO - use driver registry profile settings. ; 1 = NVAPI_STEREO_SURFACECREATEMODE_FORCESTEREO - create stereo surface. ; 2 = NVAPI_STEREO_SURFACECREATEMODE_FORCEMONO - create mono surface. ;StereoMode=0 [textureoverride1] hash=7731b1f1d02a75aa-vs stereomode=0 [textureoverride2] hash=89956a3b22e3e115-vs stereomode=0 I tried Zero and One neither did anything to the clouds. I did have the extra lines of code you asked me to use just incase. so no good yet the clouds are still mono for some weird reason..
Well I had tried something that was in the INI file but it did not work..I figured to try a few things but so far no success. here is what I tried :


[TextureOverride1]
;Hash=c3e55ebd
; NVidia stores surface creation mode heuristics in the game profile. setting
; this option overrides the creation mode for a given texture / buffer.
; 0 = NVAPI_STEREO_SURFACECREATEMODE_AUTO - use driver registry profile settings.
; 1 = NVAPI_STEREO_SURFACECREATEMODE_FORCESTEREO - create stereo surface.
; 2 = NVAPI_STEREO_SURFACECREATEMODE_FORCEMONO - create mono surface.
;StereoMode=0

[textureoverride1]
hash=7731b1f1d02a75aa-vs
stereomode=0

[textureoverride2]
hash=89956a3b22e3e115-vs
stereomode=0


I tried Zero and One neither did anything to the clouds. I did have the extra lines of code you asked me to use just incase. so no good yet the clouds are still mono for some weird reason..

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 08/31/2016 12:29 AM   
  9 / 16    
Scroll To Top