#version 150 layout(std140) uniform CommonVariables { vec4 PositionFix; vec4 GlFogcolor; float GlFogdensity; float GlFogend; float GlFogscale; float AlphaRef; vec4 ClipPlanes[6]; }; layout(std140) uniform AsmPixelFloat { vec4 PConstFloat[224]; }; layout(std140) uniform AsmPixelInt { ivec4 PConstInt[16]; }; layout(std140) uniform AsmPixelBool { bool PConstBool[16]; }; layout(std140) uniform AsmPixelOnly { vec4 BumpEnvMatrix; float LuminanceScale; float LuminanceOffset; }; uniform sampler2D PSampler0; uniform sampler2D PSampler1; uniform sampler2D PSampler2; uniform sampler2D PSampler3; uniform sampler2D PSampler4; uniform sampler2D PSampler5; uniform sampler2D PSampler6; uniform sampler2D PSampler7; uniform sampler2D PSampler8; in vec4 eON_Varyings[10]; in float eON_VaryingFog; out vec4 FragData[gl_MaxDrawBuffers]; vec4 IN[13]; vec4 Temporary0; vec4 Temporary1; vec4 Temporary2; vec4 Temporary3; vec4 InstrHelpTemp; const vec4 LocalConst1 = vec4(1.000000000, 1.500000000, 1.399999976, -2.000000000); const vec4 LocalConst3 = vec4(3.000000000, 0.000000000, 20.000000000, 0.400000006); const vec4 LocalConst12 = vec4(1.000000000, 0.000000000, 1.250000000, 0.000001000); const vec4 LocalConst13 = vec4(1.000000000, 0.200000003, 0.000000000, 0.000000000); const vec4 LocalConst14 = vec4(8.000000000, 2.000000000, 10.000000000, 5.000000000); const vec4 LocalConst15 = vec4(20.000000000, 12.000000000, 11.000000000, 8.000000000); const vec4 LocalConst16 = vec4(0.816496611, 0.577350259, 0.000000000, 0.020000000); const vec4 LocalConst17 = vec4(-0.707106769, -0.408248305, 0.577350259, 0.707106769); void main() { IN[0].rgb = vec4(eON_Varyings[2]).rgb; IN[1].rgb = vec4(eON_Varyings[3]).rgb; IN[2].rg = eON_Varyings[0].rg; IN[3] = eON_Varyings[1]; IN[4].a = eON_Varyings[5].a; IN[5].rgb = eON_Varyings[6].rgb; Temporary0 = (LocalConst14.rgba); Temporary0.rg = ((IN[3].rg * Temporary0.rg) + PConstFloat[6].rg); Temporary1 = (texture( PSampler6, Temporary0.rg ).rgba ); Temporary0.rg = ((Temporary1.rg * -LocalConst1.aa) + -LocalConst1.rr); Temporary0.ba = ((IN[3].rg * Temporary0.ba) + PConstFloat[7].rg); Temporary0.ba = ((Temporary0.rg * LocalConst16.aa) + Temporary0.ba); Temporary1 = (texture( PSampler7, Temporary0.ba ).rgba ); Temporary2.rg = (LocalConst15.rg); Temporary0.ba = ((IN[3].rg * Temporary2.rg) + PConstFloat[8].rg); Temporary0.rg = ((Temporary0.rg * LocalConst16.aa) + Temporary0.ba); Temporary0 = (texture( PSampler7, Temporary0.rg ).rgba ); Temporary0.r = (Temporary0.r * Temporary1.r); Temporary0.g = (dot(IN[1].rgb,IN[1].rgb)); Temporary0.g = (( inversesqrt( Temporary0.g ) ) ); Temporary1.g = (Temporary0.g * IN[1].b); Temporary0.g = (dot(IN[0].rgb,IN[0].rgb)); Temporary0.g = (( inversesqrt( Temporary0.g ) ) ); Temporary1.r = (Temporary0.g * IN[0].b); Temporary0.g = ((dot( LocalConst13.rg, Temporary1.rg ) + LocalConst13.b )); Temporary0.g = clamp(Temporary0.g, 0.0, 1.0); Temporary0.r = (Temporary0.r * Temporary0.g); Temporary0.gb = (LocalConst1.gb * IN[3].ab); Temporary1 = (texture( PSampler3, Temporary0.gb ).rgba ); Temporary0.gba = ((Temporary1.rgb * -LocalConst1.aaa) + -LocalConst1.rrr); Temporary0.gba = (Temporary0.gba * LocalConst3.rrg); Temporary1 = (texture( PSampler2, IN[3].rg ).rgba ); Temporary1.a = ((dot( Temporary1.rg, -Temporary1.rg ) + LocalConst1.r )); Temporary1.a = (( inversesqrt( Temporary1.a ) ) ); Temporary1.b = (( 1.0 / Temporary1.a ) ); Temporary2 = (texture( PSampler4, IN[3].rg ).rgba ); Temporary0.gba = ((Temporary2.ggg * Temporary0.gba) + Temporary1.rgb); Temporary1.rg = (LocalConst3.bb * IN[3].rg); Temporary1 = (texture( PSampler5, Temporary1.rg ).rgba ); Temporary1.rgb = ((Temporary1.rgb * -LocalConst1.aaa) + -LocalConst1.rrr); Temporary0.gba = ((Temporary1.rgb * LocalConst3.aaa) + Temporary0.gba); Temporary0.gba = ((Temporary0.gba * LocalConst12.rrg) + LocalConst12.ggb); Temporary1.rgb = (normalize(IN[5].rgb)); Temporary1.r = (dot(Temporary0.gba,Temporary1.rgb)); Temporary3.rgb = (normalize(Temporary0.gba)); Temporary0.g = (-Temporary1.r + LocalConst1.r); Temporary0.g = ( Temporary1.r < 0.0 ) ? LocalConst1.r : Temporary0.g; Temporary0.b = (abs(Temporary0.g) * abs(Temporary0.g)); Temporary0.g = (abs(Temporary0.g) + -LocalConst12.a); Temporary0.b = (Temporary0.b * Temporary0.b); Temporary1.rgb = (PConstFloat[10].rgb * PConstFloat[10].aaa); Temporary1.rgb = (Temporary0.bbb * Temporary1.rgb); Temporary0.gba = ( Temporary0.g < 0.0 ) ? LocalConst3.ggg : Temporary1.rgb; Temporary1.rg = (LocalConst15.ba * IN[3].rg); Temporary1 = (texture( PSampler8, Temporary1.rg ).rgba ); Temporary0.gba = (Temporary0.gba + Temporary1.rgb); Temporary0.gba = (Temporary0.gba * Temporary2.rrr); Temporary2.rgb = (PConstFloat[9].rgb * PConstFloat[9].aaa); Temporary1.rgb = (Temporary1.rgb * Temporary2.rgb); Temporary0.rgb = ((Temporary0.rrr * Temporary1.rgb) + Temporary0.gba); Temporary1.r = (LocalConst1.r); Temporary1.rgb = (Temporary1.rrr + -PConstFloat[0].rgb); Temporary0.rgb = (Temporary0.rgb * Temporary1.rgb); Temporary2.r = ((dot( Temporary3.gb, LocalConst16.rg ) + LocalConst16.b )); Temporary2.r = clamp(Temporary2.r, 0.0, 1.0); Temporary2.g = (dot(Temporary3.rgb,LocalConst17.rgb)); Temporary2.g = clamp(Temporary2.g, 0.0, 1.0); Temporary2.b = (dot(Temporary3.gbr,LocalConst17.gba)); Temporary2.b = clamp(Temporary2.b, 0.0, 1.0); Temporary2.rgb = (Temporary2.rgb * Temporary2.rgb); Temporary3.rgb = (max(Temporary2.rgb, LocalConst12.aaa)); Temporary2 = (texture( PSampler1, IN[2].rg ).rgba ); Temporary2.rgb = (Temporary2.rgb * PConstFloat[5].rgb); Temporary0.a = (dot(Temporary2.rgb,Temporary3.rgb)); Temporary1.rgb = ((Temporary1.rgb * Temporary0.aaa) + PConstFloat[0].rgb); FragData[0].rgb = ((Temporary0.rgb * PConstFloat[11].rgb) + Temporary1.rgb); Temporary0.r = (( 1.0 / IN[4].a ) ); FragData[0].a = ((PConstFloat[2].r * Temporary0.r) + PConstFloat[2].g); }