//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float3 DecalDimensions;
//   float4 DecalTilingAndOffset;
//   row_major float4x4 DecalViewMatrix;
//   row_major float4x4 WorldMatrix;
//   float4x3 global_FogPropertyMatrix;
//   float4 global_ViewPos;
//   row_major float4x4 global_ViewProjection;
//
//
// Registers:
//
//   Name                     Reg   Size
//   ------------------------ ----- ----
//   WorldMatrix              c0       4
//   DecalViewMatrix          c4       4
//   DecalDimensions          c8       1
//   DecalTilingAndOffset     c9       1
//   global_FogPropertyMatrix c234     3
//   global_ViewProjection    c247     4
//   global_ViewPos           c251     1
//

    vs_3_0
    def c10, 1, 0, 0.5, 0
    dcl_position v0  // In<0,1,2>
    dcl_normal v1  // In<3,4,5>
    dcl_position o0
    dcl_texcoord o1
    dcl_texcoord1 o2.xyz
    dcl_texcoord2 o3.xy
    dcl_texcoord3 o4.x
    dcl_texcoord4 o5.x

#line 29 "C:\Program Files (x86)\EoC Tools\memory"
    mad r0, v0.xyzx, c10.xxxy, c10.yyyx
    dp4 r1.w, c3, r0  // ::worldPosition<3>
    dp4 r1.x, c0, r0  // ::worldPosition<0>
    dp4 r1.z, c2, r0  // ::worldPosition<2>
    dp4 r1.y, c1, r0  // ::worldPosition<1>

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

#line 38
    dp4 o1.z, c6, r1  // ::main<6>
    dp4 o1.w, c7, r1  // ::main<7>

#line 44
    nrm r0.xyz, v1  // ::localNormalNormalized<0,1,2>

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

#line 50
    dp3 r0.x, r2, r2
    rsq r0.x, r0.x
    mul o2.xyz, r0.x, r2  // ::main<8,9,10>

#line 55
    rcp r0.x, c8.x
    rcp r0.y, c8.y

#line 38
    dp4 r2.x, c4, r1  // ::decalSpacePosition<0>
    dp4 r2.y, c5, r1  // ::decalSpacePosition<1>

#line 61
    add r1.xzw, -r1.xyyz, c251.xyyz  // ::worldView<0,1,2>

#line 65
    add r0.z, r1.y, -c236.z
    dp3 r0.w, r1.xzww, r1.xzww
    rsq r0.w, r0.w
    rcp r0.w, r0.w

#line 71
    add r1.xy, -r0.w, c235.wzzw

#line 55
    mad r3.xy, r2, r0, c10.z  // ::unitTexCoords<0,1>

#line 38
    mov o1.xy, r2  // ::main<4,5>

#line 57
    add r3.z, -r3.y, c10.x
    mad o3.xy, r3.xzzw, c9, c9.zwzw  // ::main<11,12>

#line 65
    rcp r0.x, c236.w
    mul r0.x, r0.x, r0.z  // ::heightDensity<0>

#line 71
    mov r0.zw, c235  // ::global_FogPropertyMatrix<7,10>
    add r0.yz, r0.xwzw, -c234.xwzw

#line 64
    rcp r0.y, r0.y

#line 71
    rcp r0.z, r0.z
    mul_sat o5.x, r0.z, r1.y  // ::main<14>

#line 64
    mul_sat r0.y, r0.y, r1.x  // ::depthValue<0>
    max r0.x, r0.x, r0.y
    min o4.x, r0.x, c10.x  // ::main<13>

// approximately 44 instruction slots used
 