// moon earth shine
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
//   using 3Dmigoto v1.3.16 on Thu Nov 21 03:05:02 2019
//
//
// Buffer Definitions:
//
// cbuffer $Globals
// {
//
//   float3 g_vMoonLightDir;            // Index:    0.xyz            Components:     3 [unused]
//   float4 g_vMoonColor;               // Index:    1.xyzw           Components:     4
//   float4 g_vGlowColor;               // Index:    2.xyzw           Components:     4 [unused]
//   float4x4 g_mMoonMatrix;            // Index:    3 4 5 6          Components:    16 [unused]
//   float4x4 g_mGlowMatrix;            // Index:    7 8 9 10         Components:    16 [unused]
//   float4x4 g_mViewProj;              // Index:   11 12 13 14       Components:    16 [unused]
//   float4x4 g_mView;                  // Index:   15 16 17 18       Components:    16 [unused]
//   float4x4 g_mProj;                  // Index:   19 20 21 22       Components:    16 [unused]
//   float4 g_vOrigin;                  // Index:   23.xyzw           Components:     4 [unused]
//   float4 g_vSize;                    // Index:   24.xyzw           Components:     4 [unused]
//   float4 g_vAppear;                  // Index:   25.xyzw           Components:     4 [unused]
//   float4 g_avRND[4];                 // Index:   26 27 28 29       Components:    16 [unused]
//   float4 g_avMASK[4];                // Index:   30 31 32 33       Components:    16 [unused]
//      = 0x3f800000 0x00000000 0x00000000 0x00000000
//        0x00000000 0x3f800000 0x00000000 0x00000000
//        0x00000000 0x00000000 0x3f800000 0x00000000
//        0x00000000 0x00000000 0x00000000 0x3f800000
//   float4 g_vRotation;                // Index:   34.xyzw           Components:     4 [unused]
//   float4 g_vScreenPos;               // Index:   35.xyzw           Components:     4 [unused]
//   float4 g_vTCoords;                 // Index:   36.xyzw           Components:     4 [unused]
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// MoonNormalsSampler                sampler      NA          NA    0        1
// MoonTextureSampler                sampler      NA          NA    1        1
// MoonTextureSampler                texture  float4          2d    0        1
// MoonNormalsSampler                texture  float4          2d    1        1
// $Globals                          cbuffer      NA          NA    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
// TEXCOORD                 0   xyz         2     NONE   float   xy
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
//
ps_4_0
dcl_constantbuffer cb0[2], 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 v1.xyzw
dcl_input_ps linear v2.xy
dcl_output o0.xyzw
dcl_temps 4
sample r0.xyzw, v2.xyxx, t0.xyzw, s1
lt r1.x, r0.w, l(0.00784313772)
if_nz r1.x
  discard_nz l(-1)
endif
sample r1.xyzw, v2.xyxx, t1.xyzw, s0

add r2.xyz, l(0.05), -v2.w
mul r2.xyz, r2.xyz, l(0.0235,0.0503,0.0502)  //47,106,105 - earth shine color
mov r3.xyz, r0.xyz
mul r3.xyz, r3.xyz, r2.xyz

mad r1.xyz, r1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
mad r2.xyz, v1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
dp3 r1.x, r1.xyzx, r2.xyzx
max r1.x, r1.x, l(0.000000)
sqrt r1.x, r1.x
min r1.x, r1.x, l(1.000000)
mul r0.xyz, r0.xyzx, r1.xxxx
mul r0.xyz, r0.wwww, r0.xyzx
mul r0.xyz, r0.xyzx, v1.wwww
mul r2.xyz, r0.xyzx, cb0[1].xyzx
mul r3.xyz, r3.xyz, cb0[1].xyz
max o0.xyz, r2.xyz, r3.xyz
///mul o0.xyz, r0.xyzx, cb0[1].xyzx
mov o0.w, r0.w
ret
// Approximately 18 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with 3Dmigoto v1.3.16 on Thu Nov 21 03:05:02 2019
//
// cbuffer _Globals : register(b0)
// {
//   float3 g_vMoonLightDir : packoffset(c0);
//   float4 g_vMoonColor : packoffset(c1);
//   float4 g_vGlowColor : packoffset(c2);
//   float4x4 g_mMoonMatrix : packoffset(c3);
//   float4x4 g_mGlowMatrix : packoffset(c7);
//   float4x4 g_mViewProj : packoffset(c11);
//   float4x4 g_mView : packoffset(c15);
//   float4x4 g_mProj : packoffset(c19);
//   float4 g_vOrigin : packoffset(c23);
//   float4 g_vSize : packoffset(c24);
//   float4 g_vAppear : packoffset(c25);
//   float4 g_avRND[4] : packoffset(c26);
//   float4 g_avMASK[4] : packoffset(c30) = {1,0,0,0};
//
// SamplerState MoonNormalsSampler_s : register(s0);
// SamplerState MoonTextureSampler_s : register(s1);
// Texture2D<float4> MoonTextureSampler : register(t0);
// Texture2D<float4> MoonNormalsSampler : register(t1);
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Texture2D<float4> StereoParams : register(t125);
//
//
// void main(
//   float4 v0 : SV_Position0,
//   float4 v1 : COLOR0,
//   float3 v2 : TEXCOORD0,
//   out float4 o0 : SV_Target0)
// {
//   float4 r0,r1,r2;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r0.xyzw = MoonTextureSampler.Sample(MoonTextureSampler_s, v2.xy).xyzw;
//   r1.x = cmp(r0.w < 0.00784313772);
//   if (r1.x != 0) {
//     if (-1 != 0) discard;
//   }
//   r1.xyzw = MoonNormalsSampler.Sample(MoonNormalsSampler_s, v2.xy).xyzw;
//   r1.xyz = r1.xyz * float3(2,2,2) + float3(-1,-1,-1);
//   r2.xyz = v1.xyz * float3(2,2,2) + float3(-1,-1,-1);
//   r1.x = dot(r1.xyz, r2.xyz);
//   r1.x = max(0, r1.x);
//   r1.x = sqrt(r1.x);
//   r1.x = min(1, r1.x);
//   r0.xyz = r1.xxx * r0.xyz;
//   r0.xyz = r0.xyz * r0.www;
//   r0.xyz = v1.www * r0.xyz;
//   o0.xyz = g_vMoonColor.xyz * r0.xyz;
//   o0.w = r0.w;
//   return;
// }
//////////////////////////////// HLSL Errors ////////////////////////////////
// C:\Program Files (x86)\Steam\steamapps\common\IL-2 Sturmovik Battle of Stalingrad\bin\editor\ShaderFixes\20d115971f21fa74-ps_replace.txt(17,10-50): error X3017: 'g_avMASK': initializer does not match type
/////////////////////////////////////////////////////////////////////////////
