//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float FloatParameter_VertexWaveHeight;
//   float FloatParameter_VertexWaveSpeed;
//   float FloatParameter_VertexWaveWidth;
//   row_major float4x4 WorldMatrix;
//   float4 global_Data;
//   float4x3 global_FogPropertyMatrix;
//   row_major float4x4 global_View;
//   float4 global_ViewPos;
//   row_major float4x4 global_ViewProjection;
//
//
// Registers:
//
//   Name                            Reg   Size
//   ------------------------------- ----- ----
//   WorldMatrix                     c0       4
//   FloatParameter_VertexWaveSpeed  c4       1
//   FloatParameter_VertexWaveWidth  c5       1
//   FloatParameter_VertexWaveHeight c6       1
//   global_FogPropertyMatrix        c234     3
//   global_Data                     c238     1
//   global_View                     c239     3
//   global_ViewProjection           c247     4
//   global_ViewPos                  c251     1
//

    vs_3_0
    def c7, 1, 0, 0.5, -2
    def c8, 2, 3, 0, 0
    dcl_position v0  // In<0,1,2>
    dcl_texcoord v1  // In<3,4>
    dcl_normal v2  // In<5,6,7>
    dcl_binormal v3  // In<8,9,10>
    dcl_tangent v4  // In<11,12,13>
    dcl_position o0
    dcl_texcoord o1.x
    dcl_texcoord1 o2.xy
    dcl_texcoord2 o3.xyz
    dcl_texcoord3 o4.xyz
    dcl_texcoord4 o5.xyz
    dcl_texcoord5 o6.xyz
    dcl_texcoord6 o7.x
    dcl_texcoord7 o8.x

#line 37 "c:\Develop\LSProjects\EyesOfAChild\Tools\Glasses\build\memory"
    rcp r0.x, c5.x

#line 56
    mad r1, v0.xyzx, c7.xxxy, c7.yyyx
    dp4 r2.x, c0, r1  // ::worldPosition<0>
    dp4 r2.z, c2, r1  // ::worldPosition<2>

#line 36
    mul r0.y, r2.z, r2.x  // ::Local3<0>
    mul r0.x, r0.x, r0.y  // ::Local4<0>
    mov r3.x, c238.x  // ::global_Data<0>
    mad r0.x, r3.x, c4.x, r0.x  // ::Local5<0>
    add r0.x, r0.x, c7.z
    frc r0.x, r0.x
    mad r0.x, r0.x, -c7.w, -c7.x
    mul r0.y, r0_abs.x, r0_abs.x
    mad r0.x, r0_abs.x, -c8.x, c8.y
    mul r0.x, r0.x, r0.y  // ::Local7<0>
    mad r0.x, r0.x, -c7.w, -c7.x  // ::Local8<0>

#line 59
    mov r0.yzw, c7.xxyy

#line 45
    mul r3.xyz, r0.xyxw, c6.x  // ::Local9<1>
    mul r0.xyz, r0.zxzw, r3  // ::Local10<0,1,0>

#line 56
    dp4 r2.y, c1, r1  // ::worldPosition<1>
    dp4 r2.w, c3, r1  // ::worldPosition<3>

#line 59
    add r0, r0, r2  // ::worldPosition<0,1,2,3>

#line 62
    dp4 o0.x, c247, r0  // ::main<0>
    dp4 o0.y, c248, r0  // ::main<1>
    dp4 o0.z, c249, r0  // ::main<2>
    dp4 o0.w, c250, r0  // ::main<3>

#line 68
    dp4 o1.x, c241, r0  // ::main<4>

#line 78
    nrm r1.xyz, v2  // ::localNormalNormalized<0,1,2>

#line 81
    dp3 r2.x, c0, r1  // ::worldNormal<0>
    dp3 r2.y, c1, r1  // ::worldNormal<1>
    dp3 r2.z, c2, r1  // ::worldNormal<2>

#line 84
    dp3 r0.w, r2, r2
    rsq r0.w, r0.w
    mul o3.xyz, r0.w, r2  // ::main<7,8,9>

#line 89
    nrm r1.xyz, v3  // ::localBinormalNormalized<0,1,2>

#line 92
    dp3 r2.x, c0, r1  // ::worldBinormal<0>
    dp3 r2.y, c1, r1  // ::worldBinormal<1>
    dp3 r2.z, c2, r1  // ::worldBinormal<2>

#line 95
    dp3 r0.w, r2, r2
    rsq r0.w, r0.w
    mul o4.xyz, r0.w, r2  // ::main<10,11,12>

#line 100
    nrm r1.xyz, v4  // ::localTangentNormalized<0,1,2>

#line 103
    dp3 r2.x, c0, r1  // ::worldTangent<0>
    dp3 r2.y, c1, r1  // ::worldTangent<1>
    dp3 r2.z, c2, r1  // ::worldTangent<2>

#line 106
    dp3 r0.w, r2, r2
    rsq r0.w, r0.w
    mul o5.xyz, r0.w, r2  // ::main<13,14,15>

#line 117
    add r0.w, r0.y, -c236.z

#line 111
    add r0.xyz, -r0, c251  // ::worldView<0,1,2>

#line 117
    rcp r1.x, c236.w
    mul r0.w, r0.w, r1.x  // ::heightDensity<0>
    dp3 r1.x, r0, r0

#line 111
    mov o6.xyz, r0  // ::main<16,17,18>

#line 116
    rsq r0.x, r1.x
    rcp r0.x, r0.x

#line 123
    add r0.xy, -r0.x, c235.wzzw
    mov r1.zw, c235  // ::global_FogPropertyMatrix<7,10>
    add r1.xy, r1.wzzw, -c234.wzzw

#line 116
    rcp r0.z, r1.x

#line 123
    rcp r1.x, r1.y
    mul_sat o8.x, r0.y, r1.x  // ::main<20>

#line 116
    mul_sat r0.x, r0.z, r0.x  // ::depthValue<0>
    max r0.x, r0.w, r0.x
    min o7.x, r0.x, c7.x  // ::main<19>

#line 76
    mov o2.xy, v1  // ::main<5,6>

// approximately 71 instruction slots used
 