//
// Generated by Microsoft (R) D3DX9 Shader Compiler 9.12.589.0000
//
// Parameters:
//
//   samplerCUBE g_ambient_cube;
//   float3 g_camera_position;
//   float4 g_depth_buffer_uvs;
//   sampler2D g_depth_sampler;
//   samplerCUBE g_environment_sampler;
//   sampler2D g_foam_normal_sampler;
//   sampler2D g_foam_sampler;
//   float g_fog_depth;
//   float4 g_global_tint_color;
//   float4 g_light_constants[8];
//   float4 g_luminance_factor;
//   float3 g_luminance_tint;
//   float g_reflectivity;
//   float g_refraction_bias;
//   sampler2D g_refraction_sampler;
//   float g_refraction_scale;
//   sampler2D g_scene_sampler;
//   float4 g_shadow_color;
//   float g_specular_level;
//   float g_specular_power;
//   float3 g_sun_light_color;
//   float3 g_sun_light_direction;
//   sampler2D g_water_normal_sampler;
//   sampler2D g_water_surface_sampler;
//   float4 g_water_tint;
//
//
// Registers:
//
//   Name                    Reg   Size
//   ----------------------- ----- ----
//   g_light_constants       c0       8
//   g_camera_position       c8       1
//   g_sun_light_direction   c9       1
//   g_sun_light_color       c10      1
//   g_global_tint_color     c11      1
//   g_shadow_color          c12      1
//   g_reflectivity          c13      1
//   g_refraction_scale      c14      1
//   g_fog_depth             c15      1
//   g_water_tint            c16      1
//   g_specular_level        c17      1
//   g_specular_power        c18      1
//   g_refraction_bias       c19      1
//   g_depth_buffer_uvs      c20      1
//   g_luminance_factor      c21      1
//   g_luminance_tint        c22      1
//   g_ambient_cube          s0       1
//   g_depth_sampler         s1       1
//   g_scene_sampler         s2       1
//   g_water_surface_sampler s3       1
//   g_water_normal_sampler  s4       1
//   g_foam_sampler          s5       1
//   g_foam_normal_sampler   s6       1
//   g_refraction_sampler    s7       1
//   g_environment_sampler   s8       1
//
//
// Default values:
//
//   g_light_constants
//     c0   = { 0, 0, 0, 0 };
//     c1   = { 0, 0, 0, 0 };
//     c2   = { 0, 0, 0, 0 };
//     c3   = { 0, 0, 0, 0 };
//     c4   = { 0, 0, 0, 0 };
//     c5   = { 0, 0, 0, 0 };
//     c6   = { 0, 0, 0, 0 };
//     c7   = { 0, 0, 0, 0 };
//
//   g_camera_position
//     c8   = { 0, 0, 0, 0 };
//
//   g_sun_light_direction
//     c9   = { 0, 0, 0, 0 };
//
//   g_sun_light_color
//     c10  = { 0, 0, 0, 0 };
//
//   g_global_tint_color
//     c11  = { 0, 0, 0, 0 };
//
//   g_shadow_color
//     c12  = { 0, 0, 0, 0 };
//
//   g_reflectivity
//     c13  = { 0.8, 0, 0, 0 };
//
//   g_refraction_scale
//     c14  = { 0.01, 0, 0, 0 };
//
//   g_fog_depth
//     c15  = { 0.0001, 0, 0, 0 };
//
//   g_water_tint
//     c16  = { 0.1, 0.2, 0.1, 1 };
//
//   g_specular_level
//     c17  = { 0.7, 0, 0, 0 };
//
//   g_specular_power
//     c18  = { 200, 0, 0, 0 };
//
//   g_refraction_bias
//     c19  = { 0.2, 0, 0, 0 };
//
//   g_depth_buffer_uvs
//     c20  = { 0, 0, 0, 0 };
//
//   g_luminance_factor
//     c21  = { 0, 0, 0, 0 };
//
//   g_luminance_tint
//     c22  = { 1, 1, 1, 0 };
//

    //ps_2_x
	ps_3_0
    def c23, 0.5, 2, 0.5, 0.300000012
    def c24, 0.800000012, 0.00999999978, 9.99999975e-006, 0.25
    def c25, 2, -1, 1, 1.5
    //dcl v0.x
    //dcl t0
    //dcl t1
    //dcl t2.xyz
    //dcl t3
    //dcl t5.xyz
    //dcl t6.xyz
    //dcl t7.xyz
	
	dcl_color v0
	dcl_texcoord0 v1
    dcl_texcoord1 v2
	dcl_texcoord2 v3.xyz
	dcl_texcoord3 v4
	dcl_texcoord5 v5.xyz
	dcl_texcoord6 v6.xyz
	dcl_texcoord7 v7.xyz
	dcl vPos.xy
    dcl_cube s0
    dcl_2d s1
    dcl_2d s2
    dcl_2d s3
    dcl_2d s4
    dcl_2d s5
    dcl_2d s6
    dcl_2d s7
    dcl_cube s8
    mov r0.x, v2.z
    mov r0.y, v2.w
    texld_pp r2, r0, s7
    texld_pp r1, v2, s6
    texld_pp r0, v1, s4
    mul_pp r2.x, r2.w, r2.x
    mad_pp r2.xy, c25.x, r2, c25.y
    rcp r2.w, v4.w
    mul_pp r3.xy, r2.w, v4
	
	mov r11.xy, vPos.xy
	rcp r11.z, c210.x
	rcp r11.w, c210.y
	mul r11.xy, r11.xy, r11.zw
	rcp r11.z, c210.x
	rcp r11.w, c210.y
	mul r11.zw, r11.zw, c23.xx
    add	r3.xy, r11.xy, r11.zw
	
	//mov r3.xy, vPos.xy
    mul_pp r1.x, r1.w, r1.x
    mov_pp r1.z, r1.y
    mad_pp r1.xz, c25.x, r1, c25.y
    mul r1.w, -r1.x, r1.x
    mad_pp r1.w, r1.z, -r1.z, r1.w
    mul_pp r0.x, r0.w, r0.x
    mov_pp r0.z, r0.y
    add_sat r0.w, r1.w, c25.z
    mad_pp r0.xz, c25.x, r0, c25.y
    rsq r1.w, r0.w
    mul r0.w, -r0.x, r0.x
    mad_pp r0.w, r0.z, -r0.z, r0.w
    rcp_pp r1.y, r1.w
    add_sat r0.w, r0.w, c25.z
    mul r1.xyz, r1, c23
    rsq r0.w, r0.w
    rcp_pp r0.y, r0.w
    mad r0.xyz, r0, c23, r1
    mul r0.w, r0.x, r0.x
    mad r0.w, r0.z, r0.z, r0.w
    mad r0.w, r0.y, r0.y, r0.w
    //mad_sat r3.x, r3.x, c20.x, c20.z
    //mad_sat r3.y, r3.y, c20.y, c20.w
    rsq r0.w, r0.w
    mul r0.xyz, r0, r0.w
    add r1.xyz, -v3, c8
    nrm_pp r10.xyz, r1
    mul r0.w, r0.x, -r10.x
    mad r0.w, -r10.y, r0.z, r0.w
    mad r0.w, -r10.z, r0.y, r0.w
    mad r4.xy, r2, c14.x, r3
    add r0.w, r0.w, r0.w
    mad r2.yz, r0, -r0.w, -r10.wzyx
    mad r2.x, r0.x, -r0.w, -r10.x
    mul_pp r1.xyz, r0.z, v7
    mad_pp r1.xyz, r0.x, v6, r1
    mad_pp r0.xyz, r0.y, v5, r1
    nrm_pp r9.xyz, r0
    mov r5.x, v1.z
    mov r5.y, v1.w
    mov_pp r1.yz, r9.wzyx
    mov_pp r1.x, r9.x
    texld r8, r4, s2
    texld r6, r4, s1
    texld r7, r3, s2
    texld r0, r3, s1
    texld_pp r3, r2, s8
    texld r4, v1, s3
    texld r2, r5, s5
    texld_pp r1, r1, s0
    mov r5.yz, r8.zxyw
    mov r5.w, r8.z
    mov r5.x, r6.x
    mov r0.yz, r7.zxyw
    mov r0.w, r7.z
    add r1.w, -r6.x, v4.z
    cmp r5, r1.w, r0, r5
    add r1.w, r5.x, -v4.z
    pow r0.w, r1.w, c25.w
    mul_sat r1.w, r0.w, c15.x
    dp3 r12.x, r9, r10
    add_sat r0.w, r12.x, c19.x
    lrp r6.xy, r1.w, c16, r5.yzxw
    lrp r6.z, r1.w, c16.z, r5.w
    max r1.w, r0.w, c23.w
    lrp r7.xyz, c13.x, r3, r4
    min r0.w, r1.w, c24.x
    lrp r5.xyz, r0.w, r6, r7
    add r3.xyz, -v3, c2
    dp3 r6.x, r3, r3
    lrp_pp r4.xyz, v0.x, r5, r2
    rsq r0.w, r6.x
    mul_pp r8.xyz, r3, r0.w
    rcp r0.w, r0.w
    dp3_sat_pp r3.x, r9, r8
    mov r2.x, c3.w
    mad_sat_pp r0.w, r0.w, c2.w, r2.x
    add r2.xyz, -v3, c0
    mul r4.w, r3.x, r0.w
    dp3 r5.x, r2, r2
    mul r3.xyz, r4.w, c3
    rsq r0.w, r5.x
    mul_pp r6.xyz, r2, r0.w
    rcp r0.w, r0.w
    add r2.xyz, -v3, c4
    mov r5.x, c1.w
    mad_sat_pp r0.w, r0.w, c0.w, r5.x
    dp3 r7.x, r2, r2
    dp3_sat_pp r5.x, r9, r6
    rsq r1.w, r7.x
    mul r0.w, r0.w, r5.x
    mul_pp r2.xyz, r2, r1.w
    rcp r1.w, r1.w
    dp3_sat_pp r7.x, r9, r2
    mov r5.x, c5.w
    mad_sat_pp r1.w, r1.w, c4.w, r5.x
    add r5.xyz, -v3, c6
    mul r2.w, r7.x, r1.w
    dp3 r7.x, r5, r5
    mad_pp r3.xyz, c1, r0.w, r3
    rsq r1.w, r7.x
    mul_pp r5.xyz, r5, r1.w
    rcp r1.w, r1.w
    dp3_sat_pp r7.x, r9, r5
    mov r11.x, c7.w
    mad_sat_pp r1.w, r1.w, c6.w, r11.x
    mad_pp r3.xyz, c5, r2.w, r3
    mul r1.w, r7.x, r1.w
    mad_pp r3.xyz, c7, r1.w, r3
    dp3_sat r11.x, r9, c9
    add_pp r3.w, r12.x, r12.x
    mad_pp r7.xyz, c10, r11.x, r3
    mad_pp r3.xyz, r9, -r3.w, r10
    add r3.w, -r11.x, c25.z
    dp3_sat r8.x, r8, -r3
    mul_pp r7.xyz, r4, r7
    max r6.w, r8.x, c24.z
    mad_pp r1.xyz, r3.w, c12, r1
    mov r8.x, c24.w
    mul r3.w, r8.x, c18.x
    mad r1.xyz, r1, r4, r7
    pow r5.w, r6.w, r3.w
    mul r4.xyz, r5.w, c3
    dp3_sat r6.x, r6, -r3
    mul r4.xyz, r4.w, r4
    max r5.w, r6.x, c24.z
    pow r4.w, r5.w, r3.w
    dp3_sat r6.x, r2, -r3
    mul r2.xyz, r4.w, c1
    max r4.w, r6.x, c24.z
    mad_pp r4.xyz, r2, r0.w, r4
    pow r0.w, r4.w, r3.w
    mul r2.xyz, r0.w, c5
    add r0.w, r0.x, -v4.z
    dp3_sat r0.x, r5, -r3
    mad_pp r2.xyz, r2, r2.w, r4
    max r4.w, r0.x, c24.z
    dp3_sat r3.x, c9, -r3
    pow r2.w, r4.w, r3.w
    mul r0.xyz, r2.w, c7
    max r2.w, r3.x, c24.z
    mad_pp r2.xyz, r0, r1.w, r2
    pow r1.w, r2.w, r3.w
    mul r0.xyz, r1.w, c10
    mul r0.w, r0.w, c24.y
    mad_pp r0.xyz, r0, r11.x, r2
    mul r1.w, r0.w, r0.w
    mad_pp r0.xyz, r0, c17.x, r1
    mul_sat_pp r0.w, r0.w, r1.w
    mul_pp r0, r0, c11
    dp3 r1.x, r0, c21
    mad r1.xyz, r1.x, c22, -r0
    mad_pp r0.xyz, c21.w, r1, r0
    mov_pp oC0, r0

// approximately 179 instruction slots used (11 texture, 168 arithmetic)
 