//waves
// ---- Created with 3Dmigoto v0.6.164 on Fri May 16 17:15:47 2025
Texture2D<float4> t1 : register(t1);

Texture2D<float4> t0 : register(t0);

SamplerState s1_s : register(s1);

SamplerState s0_s : register(s0);

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

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

 
  cbuffer cb13 : register(b13)
 {
   float4 cb13[100];
 }



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


void main(
  float4 v0 : SV_POSITION0,
  float4 v1 : INTERP0,
  float4 v2 : INTERP1,
  float3 v3 : INTERP2,
  float3 v4 : INTERP3,
  float3 v5 : INTERP4,
  out float4 o0 : SV_TARGET0)
{
  float4 r0,r1,r2,r3,r4,r5;
  uint4 bitmask, uiDest;
  float4 fDest;
  
  float4 s = StereoParams.Load(0);
  float4 testeo = IniParams.Load(int2(90,0));

  r0.x = dot(v4.xyz, v4.xyz);
  r0.x = sqrt(r0.x);
  r0.x = 1 / r0.x;
  r0.yzw = cb0[74].xyw * v3.yyy;
  r0.yzw = cb0[73].xyw * v3.xxx + r0.yzw;
  r0.yzw = cb0[75].xyw * v3.zzz + r0.yzw;
  r0.yzw = cb0[76].xyw + r0.yzw;
  r1.xz = float2(0.5,0.5) * r0.yw;
  r0.y = cb0[17].x * r0.z;
  r1.w = 0.5 * r0.y;
  r1.xyzw = r1.xwxw + r1.zzzz;
  r2.xyzw = cb1[4].xyxy * cb0[15].xxxx;
  r0.yz = v3.xz * cb1[2].zz + r2.xy;
  r3.xyz = t1.SampleBias(s1_s, r0.yz, cb0[19].x).xyz;
  r0.y = r3.y + r3.y;
  r0.y = r3.z * 10 + r0.y;
  r3.yzw = float3(5.5,6,4.5) * cb0[15].xxx;
  r3.yzw = floor(r3.yzw);
  r3.yzw = cb1[4].zzz * r3.yzw;
  r0.y = r3.y * 0.181818187 + r0.y;
  r0.y = sin(r0.y);
  r0.y = r0.y * 3 + -2;
  r0.y = max(0, r0.y);
  r0.y = r3.x * r0.y;
  r2.xyzw = r2.xyzw * float4(1.5,1.5,1.5,1.5) + cb1[5].xyxy;
  r4.xz = v3.xx;
  r4.yw = float2(1,1);
  r4.xyzw = cb1[2].zzzz * r4.xyzw;
  r2.xyzw = float4(-1,1,-1.77499998,1.77499998) * r2.xyzw;
  r5.xz = float2(-1,-1);
  r5.yw = v3.zz;
  r2.xyzw = r5.xyzw * r4.xyzw + r2.xyzw;
  r4.xyz = t1.SampleBias(s1_s, r2.xy, cb0[19].x).xyz;//raya blanca
  r0.z = r4.y + r4.y;
  r0.z = r4.z * 10 + r0.z;
  r0.z = r3.z * 0.166666672 + r0.z;
  r0.z = sin(r0.z);
  r0.z = r0.z * 3 + -2;
  r0.z = max(0, r0.z);
  r0.z = r4.x * r0.z;
  r0.y = max(r0.y, r0.z);
  r2.xyz = t1.SampleBias(s1_s, r2.zw, cb0[19].x).xyz;
  r0.z = r2.y + r2.y;
  r0.z = r2.z * 10 + r0.z;
  r0.z = r3.w * 0.222222224 + r0.z;
  r0.z = sin(r0.z);
  r0.z = r0.z * 3 + -2;
  r0.z = max(0, r0.z);
  r0.z = r2.x * r0.z;
  r0.y = max(r0.y, r0.z);
  
r1.z += s.x * (r0.w - s.y) * 0.50;    
  
  r1.xyzw = r1.yxzw / r0.wwww;
  r0.z = r1.y * 2 + -1;
  r0.z = -cb1[3].y + r0.z;
  r0.z = 1 + -abs(r0.z);
  r0.z = max(0, r0.z);
  r1.y = 1 / cb1[3].x;
  r0.z = log2(r0.z);
  r0.z = r1.y * r0.z;
  r0.z = exp2(r0.z);
  r1.x = saturate(r1.x);
  r1.x = r0.z * r1.x + -r0.z;
  r0.z = cb1[3].z * r1.x + r0.z;
  r0.z = max(cb1[3].w, r0.z);
  r0.z = min(1, r0.z);
  r0.y = r0.y * r0.z;
  r0.z = cmp(cb0[21].w == 1.000000);
  if (r0.z != 0) {
	r1.x = t0.SampleBias(s0_s, r1.zw, cb0[19].x).x;
    r1.x = cb0[20].z * r1.x + cb0[20].w;
    r0.z = 1 / r1.x;
    r0.z = t0.SampleBias(s0_s, r1.zw, cb0[19].x).x;
    r1.xy = r1.zw * float2(2,2) + float2(-1,-1);
	r2.xyzw = cb0[78].xyzw * -r1.yyyy;
    r2.xyzw = cb0[77].xyzw * r1.xxxx + r2.xyzw;
    r2.xyzw = cb0[79].xyzw * r0.zzzz + r2.xyzw;
    r2.xyzw = cb0[80].xyzw + r2.xyzw;
	r2.xyz = r2.xyz / r2.www;
	r0.z = cb0[62].z * r2.y;
    r0.z = cb0[61].z * r2.x + r0.z;
    r0.z = cb0[63].z * r2.z + r0.z;
    r0.z = cb0[64].z + r0.z;
    r0.z = abs(r0.z);
	r1.x = t0.SampleBias(s0_s, r1.zw, cb0[19].x).x;
    r1.x = cb0[20].z * r1.x + cb0[20].w;
    r0.z = 1 / r1.x;
  } else {
    r1.x = t0.SampleBias(s0_s, r1.zw, cb0[19].x).x;
    r1.x = cb0[20].z * r1.x + cb0[20].w;
    r0.z = 1 / r1.x ;
  }
  r0.z = r0.z + -r0.w;
  r0.z = saturate(r0.z / cb1[4].w);
  r0.z = r0.z * 2 + -1;
  r0.y = r0.y * r0.z;
  r0.x = r0.x * v4.y + -0.660000026;
  r0.x = saturate(2.94117665 * r0.x);
  r0.x = r0.y * r0.x;
  r0.y = 1 + -v2.y;
  r0.y = -r0.y * cb1[7].w + 1;
  r0.xyzw = r0.xxxx * r0.yyyy + float4(-0.158831194,-0.182360604,-0.273533195,-0.558831215);
  r0.xyzw = saturate(float4(42.5000038,10.9682083,3.50510669,2.26670623) * r0.xyzw);
  r1.x = 0.390039206 * r0.x;
  r0.x = -r0.x * 0.390039206 + 0.699151576;
  r0.x = r0.y * r0.x + r1.x;
  r0.y = 0.820754707 + -r0.x;
  r0.x = r0.z * r0.y + r0.x;
  r0.y = 1 + -r0.x;
  r0.x = r0.w * r0.y + r0.x;
  r0.y = cmp(0.00313080009 >= r0.x);
  r0.z = 12.9232101 * r0.x;
  r0.x = log2(abs(r0.x));
  r0.x = 0.416666657 * r0.x;
  r0.x = exp2(r0.x);
  r0.x = r0.x * 1.05499995 + -0.0549999997;
  r0.x = r0.y ? r0.z : r0.x;
  o0.w = cb1[0].w * r0.x;
  o0.xyz = cb1[0].xyz;
  return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.164 on Fri May 16 17:15:47 2025
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float
// INTERP                   0   xyzw        1     NONE   float
// INTERP                   1   xyzw        2     NONE   float    y
// INTERP                   2   xyz         3     NONE   float   xyz
// INTERP                   3   xyz         4     NONE   float   xyz
// INTERP                   4   xyz         5     NONE   float
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_TARGET                0   xyzw        0   TARGET   float   xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[81], immediateIndexed
dcl_constantbuffer CB1[8], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_input_ps linear v2.y
dcl_input_ps linear v3.xyz
dcl_input_ps linear v4.xyz
dcl_output o0.xyzw
dcl_temps 6
dp3 r0.x, v4.xyzx, v4.xyzx
sqrt r0.x, r0.x
div r0.x, l(1.000000, 1.000000, 1.000000, 1.000000), r0.x
mul r0.yzw, v3.yyyy, cb0[74].xxyw
mad r0.yzw, cb0[73].xxyw, v3.xxxx, r0.yyzw
mad r0.yzw, cb0[75].xxyw, v3.zzzz, r0.yyzw
add r0.yzw, r0.yyzw, cb0[76].xxyw
mul r1.xz, r0.yywy, l(0.500000, 0.000000, 0.500000, 0.000000)
mul r0.y, r0.z, cb0[17].x
mul r1.w, r0.y, l(0.500000)
add r1.xyzw, r1.zzzz, r1.xwxw
mul r2.xyzw, cb0[15].xxxx, cb1[4].xyxy
mad r0.yz, v3.xxzx, cb1[2].zzzz, r2.xxyx
sample_b_indexable(texture2d)(float,float,float,float) r3.xyz, r0.yzyy, t1.xyzw, s1, cb0[19].x
add r0.y, r3.y, r3.y
mad r0.y, r3.z, l(10.000000), r0.y
mul r3.yzw, cb0[15].xxxx, l(0.000000, 5.500000, 6.000000, 4.500000)
round_ni r3.yzw, r3.yyzw
mul r3.yzw, r3.yyzw, cb1[4].zzzz
mad r0.y, r3.y, l(0.181818187), r0.y
sincos r0.y, null, r0.y
mad r0.y, r0.y, l(3.000000), l(-2.000000)
max r0.y, r0.y, l(0.000000)
mul r0.y, r0.y, r3.x
mad r2.xyzw, r2.xyzw, l(1.500000, 1.500000, 1.500000, 1.500000), cb1[5].xyxy
mov r4.xz, v3.xxxx
mov r4.yw, l(0,1.000000,0,1.000000)
mul r4.xyzw, r4.xyzw, cb1[2].zzzz
mul r2.xyzw, r2.xyzw, l(-1.000000, 1.000000, -1.775000, 1.775000)
mov r5.xz, l(-1.000000,0,-1.000000,0)
mov r5.yw, v3.zzzz
mad r2.xyzw, r5.xyzw, r4.xyzw, r2.xyzw
sample_b_indexable(texture2d)(float,float,float,float) r4.xyz, r2.xyxx, t1.xyzw, s1, cb0[19].x
add r0.z, r4.y, r4.y
mad r0.z, r4.z, l(10.000000), r0.z
mad r0.z, r3.z, l(0.166666672), r0.z
sincos r0.z, null, r0.z
mad r0.z, r0.z, l(3.000000), l(-2.000000)
max r0.z, r0.z, l(0.000000)
mul r0.z, r0.z, r4.x
max r0.y, r0.z, r0.y
sample_b_indexable(texture2d)(float,float,float,float) r2.xyz, r2.zwzz, t1.xyzw, s1, cb0[19].x
add r0.z, r2.y, r2.y
mad r0.z, r2.z, l(10.000000), r0.z
mad r0.z, r3.w, l(0.222222224), r0.z
sincos r0.z, null, r0.z
mad r0.z, r0.z, l(3.000000), l(-2.000000)
max r0.z, r0.z, l(0.000000)
mul r0.z, r0.z, r2.x
max r0.y, r0.z, r0.y
div r1.xyzw, r1.yxzw, r0.wwww
mad r0.z, r1.y, l(2.000000), l(-1.000000)
add r0.z, r0.z, -cb1[3].y
add r0.z, -|r0.z|, l(1.000000)
max r0.z, r0.z, l(0.000000)
div r1.y, l(1.000000, 1.000000, 1.000000, 1.000000), cb1[3].x
log r0.z, r0.z
mul r0.z, r0.z, r1.y
exp r0.z, r0.z
mov_sat r1.x, r1.x
mad r1.x, r0.z, r1.x, -r0.z
mad r0.z, cb1[3].z, r1.x, r0.z
max r0.z, r0.z, cb1[3].w
min r0.z, r0.z, l(1.000000)
mul r0.y, r0.z, r0.y
eq r0.z, cb0[21].w, l(1.000000)
if_nz r0.z
  sample_b_indexable(texture2d)(float,float,float,float) r0.z, r1.zwzz, t0.yzxw, s0, cb0[19].x
  mad r1.xy, r1.zwzz, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
  mul r2.xyzw, -r1.yyyy, cb0[78].xyzw
  mad r2.xyzw, cb0[77].xyzw, r1.xxxx, r2.xyzw
  mad r2.xyzw, cb0[79].xyzw, r0.zzzz, r2.xyzw
  add r2.xyzw, r2.xyzw, cb0[80].xyzw
  div r2.xyz, r2.xyzx, r2.wwww
  mul r0.z, r2.y, cb0[62].z
  mad r0.z, cb0[61].z, r2.x, r0.z
  mad r0.z, cb0[63].z, r2.z, r0.z
  add r0.z, r0.z, cb0[64].z
  mov r0.z, |r0.z|
else
  sample_b_indexable(texture2d)(float,float,float,float) r1.x, r1.zwzz, t0.xyzw, s0, cb0[19].x
  mad r1.x, cb0[20].z, r1.x, cb0[20].w
  div r0.z, l(1.000000, 1.000000, 1.000000, 1.000000), r1.x
endif
add r0.z, -r0.w, r0.z
div_sat r0.z, r0.z, cb1[4].w
mad r0.z, r0.z, l(2.000000), l(-1.000000)
mul r0.y, r0.z, r0.y
mad r0.x, r0.x, v4.y, l(-0.660000)
mul_sat r0.x, r0.x, l(2.94117665)
mul r0.x, r0.x, r0.y
add r0.y, -v2.y, l(1.000000)
mad r0.y, -r0.y, cb1[7].w, l(1.000000)
mad r0.xyzw, r0.xxxx, r0.yyyy, l(-0.158831194, -0.182360604, -0.273533195, -0.558831215)
mul_sat r0.xyzw, r0.xyzw, l(42.500004, 10.968208, 3.50510669, 2.26670623)
mul r1.x, r0.x, l(0.390039206)
mad r0.x, -r0.x, l(0.390039206), l(0.699151576)
mad r0.x, r0.y, r0.x, r1.x
add r0.y, -r0.x, l(0.820754707)
mad r0.x, r0.z, r0.y, r0.x
add r0.y, -r0.x, l(1.000000)
mad r0.x, r0.w, r0.y, r0.x
ge r0.y, l(0.00313080009), r0.x
mul r0.z, r0.x, l(12.923210)
log r0.x, |r0.x|
mul r0.x, r0.x, l(0.416666657)
exp r0.x, r0.x
mad r0.x, r0.x, l(1.055000), l(-0.055000)
movc r0.x, r0.y, r0.z, r0.x
mul o0.w, r0.x, cb1[0].w
mov o0.xyz, cb1[0].xyzx
ret
// Approximately 0 instruction slots used

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