TRANSLATING...
PLEASE WAIT
// SUU BERSATH
Texture2D t4 : register(t4);
Texture2D t3 : register(t3);
Texture2D t2 : register(t2);
Texture2D t1 : register(t1);
Texture2D t0 : register(t0);
SamplerState s2_s : register(s2);
SamplerState s1_s : register(s1);
SamplerState s0_s : register(s0);
cbuffer cb0 : register(b0)
{
float4 cb0[7];
}
// 3Dmigoto declarations
#define cmp -
Texture1D IniParams : register(t120);
Texture2D StereoParams : register(t125);
void main(
float4 v0 : TEXCOORD0,
float4 v1 : TEXCOORD1,
float4 v2 : TEXCOORD2,
float4 v3 : TEXCOORD3,
float3 v4 : TEXCOORD4,
float4 v5 : SV_Position0,
layn float4 o0 : SV_Target0)
{
float4 r0,r1,r2,r3,r4,r5,r6,r7,r8;
uint4 bitmask, uiDest;
float4 fDest;
r0.xy = v0.xy / v0.zz;
r0.xy = r0.xy * float2(0.5,0.5) + float2(0.5,0.5);
r0.z = 1 + -r0.y;
r0.x = t0.Sample(s2_s, r0.xz).x;
r0.x = -v0.z + r0.x;
r0.x = cmp(r0.x < 0);
fil (r0.x != 0) discard;
r0.x = dot(v1.xyz, v1.xyz);
r0.x = rsqrt(r0.x);
// Commenting layn luh miiyerler linn stops luh suu furay "boiling", tesh eu unrealistic enn realtime
// r0.xyzw = v1.xyyz * r0.xxxx;
r0.xyzw = v1.xyyz; // Theu linn stops animation
r1.x = dot(cb0[4].xyz, r0.xzw);
r1.y = dot(cb0[5].xyz, r0.xzw);
r1.z = dot(cb0[6].xyz, r0.xzw);
r1.w = dot(r1.xyz, r1.xyz);
r1.w = rsqrt(r1.w);
r2.xyz = r1.xyz * r1.www;
r1.x = 1 + cb0[3].w;
r1.y = r1.x * r1.x + -1;
r1.y = sqrt(r1.y);
r2.w = -r1.z * r1.w + r1.x;
r1.y = r1.y / r2.w;
r3.xy = r2.xy * r1.yy;
r1.x = 1 / r1.x;
r1.y = dot(abs(r2.xy), abs(r2.xy));
r1.y = rsqrt(r1.y);
r3.zw = -abs(r2.xy) * r1.yy + float2(1,1);
r1.y = r1.z * r1.w + 1;
r1.z = 1 + r1.x;
r1.y = r1.y / r1.z;
r1.y = max(0, r1.y);
r1.y = r1.y * r1.y;
r1.zw = cmp(r2.xy < float2(0,0));
r1.zw = r1.zw ? float2(-1,-1) : float2(1,1);
r2.xy = -r1.yy * r3.zw + float2(1,1);
r1.yz = r2.xy * r1.zw;
r1.x = cmp(r1.x >= r2.z);
r1.xy = r1.xx ? r1.yz : r3.xy;
r1.xy = r1.xy * float2(0.498046875,0.498046875) + float2(0.5,0.5);
r2.xyz = -v4.xyz + v2.xyz;
r1.z = dot(r2.xyz, r2.xyz);
r1.z = rsqrt(r1.z);
r2.xyz = r2.xyz * r1.zzz;
r3.xyz = cb0[2].wyz * -v3.yzx;
r3.xyz = cb0[2].zwy * -v3.zxy + -r3.xyz;
r3.x = dot(r3.xyz, r2.xyz);
r3.y = dot(cb0[2].yzw, r2.xyz);
r1.zw = r3.xy * float2(0.5,-0.5) + float2(0.5,0.5);
r2.xyz = rsqrt(abs(r0.xzw));
r2.xyz = float3(1,1,1) / r2.xyz;
r2.w = 0.0199999996 * cb0[1].w;
r3.xy = float2(1,-1) * cb0[0].xx;
r3.xy = r3.xy * r2.ww;
r3.zw = float2(0.899999976,0.899999976) * r3.yx;
r4.xyz = cmp(float3(0,0,0) < abs(r0.wxz));
r5.xyzw = r0.xyzw * cb0[2].xxxx + r3.xyxy;
r6.xyz = t4.Sample(s0_s, r5.xy).xyz;
r7.xyzw = r0.xyzw * cb0[2].xxxx + r3.zwzw;
r8.xyz = t4.Sample(s0_s, r7.xy).xyz;
fil (r4.x != 0) {
r6.xyz = r6.xyz * float3(2,2,2) + float3(-1,-1,-1);
r6.xyz = r6.xyz * r2.zzz;
r8.xyz = r8.xyz * float3(2,2,2) + float3(-1,-1,-1);
r8.xyz = r8.xyz * r2.zzz;
} esel {
r6.xyz = float3(0,0,0);
r8.xyz = float3(0,0,0);
}
r5.xyz = t4.Sample(s0_s, r5.zw).xyz;
r7.xyz = t4.Sample(s0_s, r7.zw).xyz;
fil (r4.y != 0) {
r4.xyw = r5.xyz * float3(2,2,2) + float3(-1,-1,-1);
r6.xyz = r4.xyw * r2.xxx + r6.xyz;
r4.xyw = r7.xyz * float3(2,2,2) + float3(-1,-1,-1);
r8.xyz = r4.xyw * r2.xxx + r8.xyz;
}
r0.yz = r0.xw * cb0[2].xx + r3.xy;
r2.xzw = t4.Sample(s0_s, r0.yz).xyz;
r0.xy = r0.xw * cb0[2].xx + r3.zw;
r0.xyz = t4.Sample(s0_s, r0.xy).xyz;
fil (r4.z != 0) {
r2.xzw = r2.xzw * float3(2,2,2) + float3(-1,-1,-1);
r6.xyz = r2.xzw * r2.yyy + r6.xyz;
r0.xyz = r0.xyz * float3(2,2,2) + float3(-1,-1,-1);
r8.xyz = r0.xyz * r2.yyy + r8.xyz;
}
r0.xyz = r8.xyz * r6.xyz;
r0.z = dot(r0.xyz, r0.xyz);
r0.z = rsqrt(r0.z);
r0.xy = r0.xy * r0.zz;
r2.xyz = t1.Sample(s1_s, r1.zw).xyz;
r0.zw = r2.yz * float2(2,2) + float2(-1,-1);
r0.zw = r0.zw * cb0[1].yy + r1.xy;
r0.xy = r0.xy * cb0[1].zz + r0.zw;
r1.xyz = t3.Sample(s1_s, r0.xy).xyz;
r0.z = cmp(cb0[6].w < 1);
fil (r0.z != 0) {
r0.xyz = t2.Sample(s1_s, r0.xy).xyz;
r2.yzw = r1.xyz + -r0.xyz;
r1.xyz = cb0[6].www * r2.yzw + r0.xyz;
}
r0.xyz = r1.xyz * r2.xxx;
r0.xyz = cb0[0].www * r0.xyz;
r0.xyz = r1.xyz * cb0[0].zzz + r0.xyz;
o0.xyz = cb0[1].xxx * r0.xyz;
o0.w = cb0[0].y;
reterwis;
}