//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 BufferCamera[27];
//   float4 BufferLights[37];
//   float4 BufferObject[8];
//   float4 BufferParticle;
//   float4 BufferScene[4];
//   sampler2D Sampler_sParticleColorMap;
//   sampler2D Sampler_sParticleOrientationMap;
//   sampler2D Sampler_sParticlePositionMap;
//
//
// Registers:
//
//   Name                            Reg   Size
//   ------------------------------- ----- ----
//   BufferLights                    c0      26
//   BufferCamera                    c26     22
//   BufferScene                     c48      4
//   BufferObject                    c52      3
//   BufferParticle                  c55      1
//   Sampler_sParticlePositionMap    s0       1
//   Sampler_sParticleOrientationMap s1       1
//   Sampler_sParticleColorMap       s2       1
//

    vs_3_0
    def c56, 1, 0, -1, 0.5
    def c57, 0.5, -0.5, 0, 0
def c247, 0.25, 0, 0.0625, 0
dcl_2d s3
    dcl_position v0
    dcl_tangent v1
    dcl_color v2
    dcl_color1 v3
    dcl_texcoord v4
    dcl_normal v5
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
    dcl_position o0
    dcl_texcoord o1
    dcl_texcoord1 o2.xy
    dcl_texcoord3 o3.xy
    dcl_texcoord5 o4.xyz
    frc r0.x, v3.z
    add r0.x, -r0.x, v3.z
    rcp r1.x, c55.x
    mul r0.y, r0.x, r1.x
    frc r0.z, r0_abs.y
    sge r0.w, r0.y, -r0.y
    lrp r1.z, r0.w, r0.z, -r0.z
    mul r0.x, r1.z, c55.x
    frc r0.zw, r0.xyxy
    add r0.xy, -r0.zwzw, r0
    add r0.zw, c56.xyxz, v4.xyxy
    mad r0.xy, r0.zwzw, c57, r0
    rcp r1.y, c55.y
    mul o2.xy, r0, r1
    dp3 r0.x, v5, c53
    mul r0.xyz, r0.x, c41
    dp3 r0.w, v5, c52
    mad r0.xyz, r0.w, c40, r0
    dp3 r0.w, v5, c54
    mad r0.xyz, r0.w, c42, r0
    dp3 r0.z, r0, r0
    rsq r0.w, r0.z
    mul r0.xyz, r0.w, r0
    mad r0.z, v5.w, r0.z, c56.x
    mov r1.xy, v4
    mul r1, r1.xxyy, v1
    add r1, r1.zzww, r1.xxyy
    mul r2, c56.xxyy, v3.xyxx
    texldl r3, r2, s1
    mul r1, r1, r3
    add r1.xy, r1.zwzw, r1
    mul r0.z, r0.z, r1.y
    mul r0.w, r0.x, r0.z
    mad r3.x, r1.x, r0.y, r0.w
    mul r0.x, r0.x, r1.x
    mad r3.y, r0.z, r0.y, -r0.x
    texldl r0, r2, s0
    texldl r1, r2, s2
    add r0.xyz, r0, v0
    mov r0.w, c56.x
    dp4 r2.x, r0, c53
    mul r2.xyz, r2.x, c41
    dp4 r2.w, r0, c52
    dp4 r0.x, r0, c54
    mad r0.yzw, r2.w, c40.xxyz, r2.xxyz
    mad r0.xyz, r0.x, c42, r0.yzww
    add r0.xyz, r0, c43
    add r0.xy, r3, r0
    mul r2.xyz, r0.y, c45
    mad r2.xyz, r0.x, c44, r2
    mad r2.xyz, r0.z, c46, r2
    add r2.xyz, r2, c47
    add r3, -r2.y, c3
    mul r3, r3, r3
    add r4, -r2.x, c2
    add r2, -r2.z, c4
    mad r3, r4, r4, r3
    mad r2, r2, r2, r3
    rsq r3.x, r2.x
    rsq r3.y, r2.y
    rsq r3.z, r2.z
    rsq r3.w, r2.w
    mul r2, r2, r3
    mov r3, c1
    mad_sat r2, r3, r2, c0
    mul r2, r2, r2
    dp4 r3.x, r2, c23
    dp4 r3.y, r2, c24
    dp4 r3.z, r2, c25
    dp4 r3.w, r2, c18
    add r2, r3, c5
    mul r3.xyz, r2, v2
    add o3.y, r2.w, v0.w
    mov r3.w, v2.w
    add r2, r3, r3
    mul o1, r1, r2
    add r0.w, -r0.z, -c51.x
    max r0.w, r0.w, c56.y
    mul r0.w, r0.w, c51.y
    min r0.w, r0.w, c56.x
    mul o3.x, r0.w, c49.w
    mul r1, r0.y, c37
    mad r1, r0.x, c36, r1
    mad r1, r0.z, c38, r1
    add r1, r1, c39
mov r10, r1
texldl r24, c247.z, s3	
add r24.y, r1.w, -r24.y
mul r24.x, r24.x, r24.y
add r1.x, r1.x, r24.x
    mul r0.xyw, r1, c56.w
    add r2.xy, r0.w, r0
    add r2.z, r1.w, -r2.y
    mul r0.xy, r1.w, c33.zwzw
    mad r0.xy, r2.xzzw, c33, r0
    mul r2.xy, r1.w, c34
    mad r0.xy, r2, c56.w, r0
    rcp r0.w, r1.w
    mov o0, r10
    mul o4.xy, r0.w, r0
    rcp r0.x, c31.w
    mul o4.z, r0.x, -r0.z

// approximately 100 instruction slots used (6 texture, 94 arithmetic)
 