technique10 RenderTileMap
{
    pass P0
    {
        VertexShader = asm {

            
//
            // Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.1104
            //
            //
            // Buffer Definitions: 
            //
            // cbuffer $Globals
            // {
            //
            //   float TileWidth;                   // Offset:    0 Size:     4 [unused]
            //   float TileWidth_inv;               // Offset:    4 Size:     4 [unused]
            //   float4x4 Proj;                     // Offset:   16 Size:    64
            //   float4x4 Trackball;                // Offset:   80 Size:    64
            //
            // }
            //
            //
            // Resource Bindings:
            //
            // Name                   Type  Format         Dim Slot Elements
            // ---------------- ---------- ------- ----------- ---- --------
            // $Globals            cbuffer      NA          NA    0        1
            //
            //
            //
            // Input signature:
            //
            // Name             Index   Mask Register SysValue Format   Used
            // ---------------- ----- ------ -------- -------- ------ ------
            // POSITION             0   xyzw        0     NONE  float   xy  
            // TEXCOORD             0   xy          1     NONE  float   xy  
            //
            //
            // Output signature:
            //
            // Name             Index   Mask Register SysValue Format   Used
            // ---------------- ----- ------ -------- -------- ------ ------
            // SV_POSITION          0   xyzw        0      POS  float   xyzw
            // TEXCOORD             0   xy          1     NONE  float   xy  
            // TEXCOORD             1     zw        1     NONE  float     zw
            //
            vs_4_0
            dcl_input v0.xy
            dcl_input v1.xy
            dcl_output_siv o0.xyzw , position
            dcl_output o1.xy
            dcl_output o1.zw
            dcl_constantbuffer cb0[9], immediateIndexed
            dcl_temps 2
            mul r0.xyzw, v0.yyyy, cb0[6].xyzw
            mad r0.xyzw, cb0[5].xyzw, v0.xxxx, r0.xyzw
            add r0.xyzw, r0.xyzw, cb0[8].xyzw
            mul r1.xyzw, r0.yyyy, cb0[2].xyzw
            mad r1.xyzw, cb0[1].xyzw, r0.xxxx, r1.xyzw
            mad r1.xyzw, cb0[3].xyzw, r0.zzzz, r1.xyzw
            mad o0.xyzw, cb0[4].xyzw, r0.wwww, r1.xyzw
            mul o1.xyzw, v1.xyxy, l(1.000000, 1.000000, 128.000000, 128.000000)
            ret 
            // Approximately 9 instruction slots used
            
}; GeometryShader = NULL; PixelShader = asm {
//
            // Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.1104
            //
            //
            // Resource Bindings:
            //
            // Name                   Type  Format         Dim Slot Elements
            // ---------------- ---------- ------- ----------- ---- --------
            // AnisoSampler        sampler      NA          NA    0        1
            // TileMap             texture   uint4          2d    0        1
            // Array2d             texture  float4     2darray    1        1
            //
            //
            //
            // Input signature:
            //
            // Name             Index   Mask Register SysValue Format   Used
            // ---------------- ----- ------ -------- -------- ------ ------
            // SV_POSITION          0   xyzw        0      POS  float       
            // TEXCOORD             0   xy          1     NONE  float       
            // TEXCOORD             1     zw        1     NONE  float     zw
            //
            //
            // Output signature:
            //
            // Name             Index   Mask Register SysValue Format   Used
            // ---------------- ----- ------ -------- -------- ------ ------
            // SV_Target            0   xyzw        0   TARGET  float   xyzw
            //
            ps_4_0
            dcl_input linear v1.zw
            dcl_output o0.xyzw
            dcl_sampler s0, mode_default
            dcl_resource_texture2d ( uint , uint , uint , uint ) t0
            dcl_resource_texture2darray ( float , float , float , float ) t1
            dcl_temps 3
            ftoi r0.xy, v1.zwzz
            mov r0.zw, l(0,0,0,0)
            ld r0.xyzw, r0.xyzw, t0.xyzw
            utof r0.z, r0.x
            frc r0.xy, v1.zwzz
            rtx r1.xyz, v1.zwzz
            rty r2.xyz, v1.zwzz
            sample_d o0.xyzw, r0.xyzx, t1.xyzw, s0, r1.xyzx, r2.xyzx
            ret 
            // Approximately 9 instruction slots used
            
}; } } technique10 RenderInterpolatedTileMap { pass P0 { VertexShader = asm {
//
            // Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.1104
            //
            //
            // Buffer Definitions: 
            //
            // cbuffer $Globals
            // {
            //
            //   float TileWidth;                   // Offset:    0 Size:     4 [unused]
            //   float TileWidth_inv;               // Offset:    4 Size:     4 [unused]
            //   float4x4 Proj;                     // Offset:   16 Size:    64
            //   float4x4 Trackball;                // Offset:   80 Size:    64
            //
            // }
            //
            //
            // Resource Bindings:
            //
            // Name                   Type  Format         Dim Slot Elements
            // ---------------- ---------- ------- ----------- ---- --------
            // $Globals            cbuffer      NA          NA    0        1
            //
            //
            //
            // Input signature:
            //
            // Name             Index   Mask Register SysValue Format   Used
            // ---------------- ----- ------ -------- -------- ------ ------
            // POSITION             0   xyzw        0     NONE  float   xy  
            // TEXCOORD             0   xy          1     NONE  float   xy  
            //
            //
            // Output signature:
            //
            // Name             Index   Mask Register SysValue Format   Used
            // ---------------- ----- ------ -------- -------- ------ ------
            // SV_POSITION          0   xyzw        0      POS  float   xyzw
            // TEXCOORD             0   xy          1     NONE  float   xy  
            // TEXCOORD             1     zw        1     NONE  float     zw
            //
            vs_4_0
            dcl_input v0.xy
            dcl_input v1.xy
            dcl_output_siv o0.xyzw , position
            dcl_output o1.xy
            dcl_output o1.zw
            dcl_constantbuffer cb0[9], immediateIndexed
            dcl_temps 2
            mul r0.xyzw, v0.yyyy, cb0[6].xyzw
            mad r0.xyzw, cb0[5].xyzw, v0.xxxx, r0.xyzw
            add r0.xyzw, r0.xyzw, cb0[8].xyzw
            mul r1.xyzw, r0.yyyy, cb0[2].xyzw
            mad r1.xyzw, cb0[1].xyzw, r0.xxxx, r1.xyzw
            mad r1.xyzw, cb0[3].xyzw, r0.zzzz, r1.xyzw
            mad o0.xyzw, cb0[4].xyzw, r0.wwww, r1.xyzw
            mul o1.xyzw, v1.xyxy, l(1.000000, 1.000000, 128.000000, 128.000000)
            ret 
            // Approximately 9 instruction slots used
            
}; GeometryShader = NULL; PixelShader = asm {
//
            // Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.1104
            //
            //
            // Resource Bindings:
            //
            // Name                   Type  Format         Dim Slot Elements
            // ---------------- ---------- ------- ----------- ---- --------
            // AnisoSampler        sampler      NA          NA    0        1
            // TileMap             texture   uint4          2d    0        1
            // Array2d             texture  float4     2darray    1        1
            // PreFiltered         texture  float4          2d    2        1
            //
            //
            //
            // Input signature:
            //
            // Name             Index   Mask Register SysValue Format   Used
            // ---------------- ----- ------ -------- -------- ------ ------
            // SV_POSITION          0   xyzw        0      POS  float       
            // TEXCOORD             0   xy          1     NONE  float   xy  
            // TEXCOORD             1     zw        1     NONE  float     zw
            //
            //
            // Output signature:
            //
            // Name             Index   Mask Register SysValue Format   Used
            // ---------------- ----- ------ -------- -------- ------ ------
            // SV_Target            0   xyzw        0   TARGET  float   xyzw
            //
            ps_4_0
            dcl_input linear v1.xy
            dcl_input linear v1.zw
            dcl_output o0.xyzw
            dcl_sampler s0, mode_default
            dcl_resource_texture2d ( uint , uint , uint , uint ) t0
            dcl_resource_texture2darray ( float , float , float , float ) t1
            dcl_resource_texture2d ( float , float , float , float ) t2
            dcl_temps 6
            add r0.xy, v1.zwzz, l(-0.500000, -0.500000, 0.000000, 0.000000)
            ftou r1.xy, r0.xyxx
            utof r0.zw, r1.xxxy
            add r0.xy, r0.xyxx, -r0.zwzz
            add r2.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
            mov r1.zw, l(0,0,0,0)
            ld r1.xyzw, r1.xyzw, t0.xyzw
            utof r2.z, r1.x
            rtx r3.xyz, v1.zwzz
            rty r4.xyz, v1.zwzz
            sample_d r2.xyzw, r2.xyzx, t1.xyzw, s0, r3.xyzx, r4.xyzx
            add r5.xy, r0.xyxx, l(-0.500000, 0.500000, 0.000000, 0.000000)
            utof r5.z, r1.y
            sample_d r5.xyzw, r5.xyzx, t1.xyzw, s0, r3.xyzx, r4.xyzx
            add r2.xyzw, r2.xyzw, r5.xyzw
            add r5.xy, r0.xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
            add r0.xy, r0.xyxx, l(0.500000, -0.500000, 0.000000, 0.000000)
            utof r5.z, r1.w
            utof r0.z, r1.z
            sample_d r1.xyzw, r5.xyzx, t1.xyzw, s0, r3.xyzx, r4.xyzx
            sample_d r0.xyzw, r0.xyzx, t1.xyzw, s0, r3.xyzx, r4.xyzx
            add r1.xyzw, r2.xyzw, r1.xyzw
            add r0.xyzw, r0.xyzw, r1.xyzw
            sample r1.xyzw, v1.xyxx, t2.xyzw, s0
            mul r2.x, r0.w, r1.w
            add r0.xyzw, r0.xyzw, -r1.xyzw
            mad o0.xyzw, r2.xxxx, r0.xyzw, r1.xyzw
            ret 
            // Approximately 28 instruction slots used
            
}; } } technique10 RenderInterpolatedTileMapConditional { pass P0 { VertexShader = asm {
//
            // Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.1104
            //
            //
            // Buffer Definitions: 
            //
            // cbuffer $Globals
            // {
            //
            //   float TileWidth;                   // Offset:    0 Size:     4 [unused]
            //   float TileWidth_inv;               // Offset:    4 Size:     4 [unused]
            //   float4x4 Proj;                     // Offset:   16 Size:    64
            //   float4x4 Trackball;                // Offset:   80 Size:    64
            //
            // }
            //
            //
            // Resource Bindings:
            //
            // Name                   Type  Format         Dim Slot Elements
            // ---------------- ---------- ------- ----------- ---- --------
            // $Globals            cbuffer      NA          NA    0        1
            //
            //
            //
            // Input signature:
            //
            // Name             Index   Mask Register SysValue Format   Used
            // ---------------- ----- ------ -------- -------- ------ ------
            // POSITION             0   xyzw        0     NONE  float   xy  
            // TEXCOORD             0   xy          1     NONE  float   xy  
            //
            //
            // Output signature:
            //
            // Name             Index   Mask Register SysValue Format   Used
            // ---------------- ----- ------ -------- -------- ------ ------
            // SV_POSITION          0   xyzw        0      POS  float   xyzw
            // TEXCOORD             0   xy          1     NONE  float   xy  
            // TEXCOORD             1     zw        1     NONE  float     zw
            //
            vs_4_0
            dcl_input v0.xy
            dcl_input v1.xy
            dcl_output_siv o0.xyzw , position
            dcl_output o1.xy
            dcl_output o1.zw
            dcl_constantbuffer cb0[9], immediateIndexed
            dcl_temps 2
            mul r0.xyzw, v0.yyyy, cb0[6].xyzw
            mad r0.xyzw, cb0[5].xyzw, v0.xxxx, r0.xyzw
            add r0.xyzw, r0.xyzw, cb0[8].xyzw
            mul r1.xyzw, r0.yyyy, cb0[2].xyzw
            mad r1.xyzw, cb0[1].xyzw, r0.xxxx, r1.xyzw
            mad r1.xyzw, cb0[3].xyzw, r0.zzzz, r1.xyzw
            mad o0.xyzw, cb0[4].xyzw, r0.wwww, r1.xyzw
            mul o1.xyzw, v1.xyxy, l(1.000000, 1.000000, 128.000000, 128.000000)
            ret 
            // Approximately 9 instruction slots used
            
}; GeometryShader = NULL; PixelShader = asm {
//
            // Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.1104
            //
            //
            // Buffer Definitions: 
            //
            // cbuffer $Globals
            // {
            //
            //   float TileWidth;                   // Offset:    0 Size:     4 [unused]
            //   float TileWidth_inv;               // Offset:    4 Size:     4
            //   float4x4 Proj;                     // Offset:   16 Size:    64 [unused]
            //   float4x4 Trackball;                // Offset:   80 Size:    64 [unused]
            //
            // }
            //
            //
            // Resource Bindings:
            //
            // Name                   Type  Format         Dim Slot Elements
            // ---------------- ---------- ------- ----------- ---- --------
            // AnisoSampler        sampler      NA          NA    0        1
            // TileMap             texture   uint4          2d    0        1
            // Array2d             texture  float4     2darray    1        1
            // PreFiltered         texture  float4          2d    2        1
            // $Globals            cbuffer      NA          NA    0        1
            //
            //
            //
            // Input signature:
            //
            // Name             Index   Mask Register SysValue Format   Used
            // ---------------- ----- ------ -------- -------- ------ ------
            // SV_POSITION          0   xyzw        0      POS  float       
            // TEXCOORD             0   xy          1     NONE  float   xy  
            // TEXCOORD             1     zw        1     NONE  float     zw
            //
            //
            // Output signature:
            //
            // Name             Index   Mask Register SysValue Format   Used
            // ---------------- ----- ------ -------- -------- ------ ------
            // SV_Target            0   xyzw        0   TARGET  float   xyzw
            //
            ps_4_0
            dcl_input linear v1.xy
            dcl_input linear v1.zw
            dcl_output o0.xyzw
            dcl_constantbuffer cb0[1], immediateIndexed
            dcl_sampler s0, mode_default
            dcl_resource_texture2d ( uint , uint , uint , uint ) t0
            dcl_resource_texture2darray ( float , float , float , float ) t1
            dcl_resource_texture2d ( float , float , float , float ) t2
            dcl_temps 9
            sample r0.xyzw, v1.xyxx, t2.xyzw, s0
            ftou r1.xy, v1.zwzz
            utof r2.xy, r1.xyxx
            add r2.xy, -r2.xyxx, v1.zwzz
            rtx r3.xyz, v1.zwzz
            rty r4.xyz, v1.zwzz
            add r5.xy, r2.xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
            max r2.w, |r5.y|, |r5.x|
            dp2 r3.w, r3.xyxx, r3.xyxx
            sqrt r3.w, r3.w
            dp2 r4.w, r4.xyxx, r4.xyxx
            sqrt r4.w, r4.w
            max r3.w, r3.w, r4.w
            max r3.w, r3.w, cb0[0].y
            add r3.w, -r3.w, l(0.500000)
            lt r2.w, r2.w, r3.w
            if_nz r2.w
              mov r1.zw, l(0,0,0,0)
              ld r1.xyzw, r1.xyzw, t0.xyzw
              utof r2.z, r1.x
              sample_d r1.xyzw, r2.xyzx, t1.xyzw, s0, r3.xyzx, r4.xyzx
            else 
              add r2.xy, v1.zwzz, l(-0.500000, -0.500000, 0.000000, 0.000000)
              ftou r5.xy, r2.xyxx
              utof r2.zw, r5.xxxy
              add r2.xy, r2.xyxx, -r2.zwzz
              add r6.xy, r2.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
              add r7.xy, r2.xyxx, l(-0.500000, 0.500000, 0.000000, 0.000000)
              add r8.xy, r2.xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
              add r2.xy, r2.xyxx, l(0.500000, -0.500000, 0.000000, 0.000000)
              mov r5.zw, l(0,0,0,0)
              ld r5.xyzw, r5.xyzw, t0.xyzw
              utof r6.z, r5.x
              sample_d r6.xyzw, r6.xyzx, t1.xyzw, s0, r3.xyzx, r4.xyzx
              utof r7.z, r5.y
              sample_d r7.xyzw, r7.xyzx, t1.xyzw, s0, r3.xyzx, r4.xyzx
              add r6.xyzw, r6.xyzw, r7.xyzw
              utof r8.z, r5.w
              sample_d r7.xyzw, r8.xyzx, t1.xyzw, s0, r3.xyzx, r4.xyzx
              add r6.xyzw, r6.xyzw, r7.xyzw
              utof r2.z, r5.z
              sample_d r2.xyzw, r2.xyzx, t1.xyzw, s0, r3.xyzx, r4.xyzx
              add r1.xyzw, r6.xyzw, r2.xyzw
            endif 
            mul r2.x, r0.w, r1.w
            add r1.xyzw, -r0.xyzw, r1.xyzw
            mad o0.xyzw, r2.xxxx, r1.xyzw, r0.xyzw
            ret 
            // Approximately 48 instruction slots used
            
}; } } technique10 RenderPackedTileMap { pass P0 { VertexShader = asm {
//
            // Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.1104
            //
            //
            // Buffer Definitions: 
            //
            // cbuffer $Globals
            // {
            //
            //   float TileWidth;                   // Offset:    0 Size:     4 [unused]
            //   float TileWidth_inv;               // Offset:    4 Size:     4 [unused]
            //   float4x4 Proj;                     // Offset:   16 Size:    64
            //   float4x4 Trackball;                // Offset:   80 Size:    64
            //
            // }
            //
            //
            // Resource Bindings:
            //
            // Name                   Type  Format         Dim Slot Elements
            // ---------------- ---------- ------- ----------- ---- --------
            // $Globals            cbuffer      NA          NA    0        1
            //
            //
            //
            // Input signature:
            //
            // Name             Index   Mask Register SysValue Format   Used
            // ---------------- ----- ------ -------- -------- ------ ------
            // POSITION             0   xyzw        0     NONE  float   xy  
            // TEXCOORD             0   xy          1     NONE  float   xy  
            //
            //
            // Output signature:
            //
            // Name             Index   Mask Register SysValue Format   Used
            // ---------------- ----- ------ -------- -------- ------ ------
            // SV_POSITION          0   xyzw        0      POS  float   xyzw
            // TEXCOORD             0   xy          1     NONE  float   xy  
            // TEXCOORD             1     zw        1     NONE  float     zw
            //
            vs_4_0
            dcl_input v0.xy
            dcl_input v1.xy
            dcl_output_siv o0.xyzw , position
            dcl_output o1.xy
            dcl_output o1.zw
            dcl_constantbuffer cb0[9], immediateIndexed
            dcl_temps 2
            mul r0.xyzw, v0.yyyy, cb0[6].xyzw
            mad r0.xyzw, cb0[5].xyzw, v0.xxxx, r0.xyzw
            add r0.xyzw, r0.xyzw, cb0[8].xyzw
            mul r1.xyzw, r0.yyyy, cb0[2].xyzw
            mad r1.xyzw, cb0[1].xyzw, r0.xxxx, r1.xyzw
            mad r1.xyzw, cb0[3].xyzw, r0.zzzz, r1.xyzw
            mad o0.xyzw, cb0[4].xyzw, r0.wwww, r1.xyzw
            mul o1.xyzw, v1.xyxy, l(1.000000, 1.000000, 128.000000, 128.000000)
            ret 
            // Approximately 9 instruction slots used
            
}; GeometryShader = NULL; PixelShader = asm {
//
            // Generated by Microsoft (R) HLSL Shader Compiler 9.19.949.1104
            //
            //
            // Resource Bindings:
            //
            // Name                   Type  Format         Dim Slot Elements
            // ---------------- ---------- ------- ----------- ---- --------
            // WrapAnisoSampler    sampler      NA          NA    0        1
            // TileMap             texture   uint4          2d    0        1
            // Packed              texture  float4          2d    1        1
            //
            //
            //
            // Input signature:
            //
            // Name             Index   Mask Register SysValue Format   Used
            // ---------------- ----- ------ -------- -------- ------ ------
            // SV_POSITION          0   xyzw        0      POS  float       
            // TEXCOORD             0   xy          1     NONE  float       
            // TEXCOORD             1     zw        1     NONE  float     zw
            //
            //
            // Output signature:
            //
            // Name             Index   Mask Register SysValue Format   Used
            // ---------------- ----- ------ -------- -------- ------ ------
            // SV_Target            0   xyzw        0   TARGET  float   xyzw
            //
            ps_4_0
            dcl_input linear v1.zw
            dcl_output o0.xyzw
            dcl_sampler s0, mode_default
            dcl_resource_texture2d ( uint , uint , uint , uint ) t0
            dcl_resource_texture2d ( float , float , float , float ) t1
            dcl_temps 2
            ftoi r0.xy, v1.zwzz
            mov r0.zw, l(0,0,0,0)
            ld r0.xyzw, r0.xyzw, t0.xyzw
            and r0.y, r0.x, l(3)
            udiv r0.x, null, r0.x, l(4)
            utof r0.yz, r0.yyxy
            frc r0.xw, v1.zzzw
            add r0.xy, r0.yzyy, r0.xwxx
            mul r0.xy, r0.xyxx, l(0.250000, 0.250000, 0.000000, 0.000000)
            mul r0.zw, v1.zzzw, l(0.000000, 0.000000, 0.250000, 0.250000)
            rtx r1.xy, r0.zwzz
            rty r0.zw, r0.zzzw
            sample_d o0.xyzw, r0.xyxx, t1.xyzw, s0, r1.xyxx, r0.zwzz
            ret 
            // Approximately 14 instruction slots used
            
}; } }