#version 120 //xtension GL_EXT_bindable_uniform : require #extension GL_ARB_shader_texture_lod : require /*ndabl*/uniform vec4 PConstFloat[224]; /*ndabl*/uniform vec4 PConstGlobal[6]; uniform ivec4 PConstInt[16]; /*ndabl*/uniform bool PConstBool[16]; uniform sampler2D PSampler0; uniform sampler2D PSampler1; uniform sampler2D PSampler2; uniform sampler2D PSampler3; uniform sampler2D PSampler4; uniform sampler2D PSampler5; vec4 IN[32]; vec4 Temporary0; vec4 Temporary1; vec4 Temporary2; vec4 Temporary3; vec4 Temporary4; vec4 Temporary5; vec4 Temporary6; vec4 Temporary7; vec4 Temporary8; vec4 Temporary9; vec4 Temporary10; vec4 Temporary11; vec4 Temporary12; vec4 InstrHelpTemp; const vec4 LocalConst16 = vec4(0.750000, 1.500000, 2.000000, -1.000000); const vec4 LocalConst17 = vec4(0.300000, 0.590000, 0.110000, 0.000000); const vec4 LocalConst18 = vec4(-0.000001, 12.000000, 0.000000, 0.000000); const vec4 LocalConst19 = vec4(1.500000, 0.000000, 0.500000, 1.000000); void main() { IN[0] = vec4(gl_Color); IN[1].rg = gl_TexCoord[0].rg; IN[2].rg = gl_TexCoord[1].rg; IN[3].rgb = gl_TexCoord[4].rgb; IN[4].rgb = gl_TexCoord[6].rgb; IN[5] = gl_TexCoord[7]; Temporary0.rgb = (normalize(IN[4].rgb)); Temporary1.rgb = (normalize(IN[3].rgb)); Temporary2 = (LocalConst16.rrgg * IN[2].rgrg); Temporary3 = (texture2D( PSampler1, Temporary2.rg ).rgba ); Temporary3.rgb = ((Temporary3.rgb * LocalConst16.bbb) + LocalConst16.aaa); Temporary4.rgb = (Temporary3.rgb * IN[0].bbb); Temporary4.rgb = (Temporary4.rgb * LocalConst19.rrg); Temporary3.rgb = ((Temporary3.rgb * LocalConst19.bba) + Temporary4.rgb); Temporary2.rg = (Temporary2.ba * PConstFloat[5].rg); Temporary4 = (texture2D( PSampler2, Temporary2.rg ).rgba ); Temporary4.rgb = ((Temporary4.rgb * LocalConst16.bbb) + LocalConst16.aaa); Temporary5.rgb = ( mix(Temporary3.rgb, Temporary4.rgb, IN[0].rrr) ); Temporary3.rgb = (normalize(Temporary5.rgb)); Temporary0.a = ((dot(Temporary3.rgb,Temporary0.rgb))); Temporary4.rgb = (Temporary0.aaa * Temporary3.rgb); Temporary4.rgb = ((Temporary4.rgb * LocalConst16.bbb) + -Temporary0.rgb); Temporary6 = (texture2D( PSampler5, IN[1].rg ).rgba ); Temporary0.a = (Temporary6.r + PConstFloat[14].r); Temporary0.a = (Temporary0.a * PConstFloat[14].g); Temporary0.a = clamp(Temporary0.a, 0.0, 1.0); Temporary0.a = (( log2( abs( Temporary0.a ) ) ) ); Temporary0.a = (Temporary0.a * PConstFloat[14].b); Temporary6.rgb = (exp2(Temporary0.aaa)); if( PConstBool[0] ) { Temporary7.rgb = (PConstFloat[1].rga * IN[5].ggg); Temporary7.rgb = ((PConstFloat[0].rga * IN[5].rrr) + Temporary7.rgb); Temporary7.rgb = ((PConstFloat[2].rga * IN[5].bbb) + Temporary7.rgb); Temporary7.rgb = ((PConstFloat[3].rga * IN[5].aaa) + Temporary7.rgb); Temporary0.a = (( 1.0 / Temporary7.b ) ); Temporary7.rg = (Temporary0.aa * Temporary7.rg); Temporary7.rg = ((Temporary7.rg * PConstGlobal[1].rg) + PConstGlobal[1].ab); Temporary7 = (texture2D( PSampler0, Temporary7.rg ).rgba ); Temporary7.rgb = (Temporary7.rgb * Temporary7.rgb); if( PConstBool[1] ) { Temporary0.a = ((dot(IN[5].rgb,IN[5].rgb))); Temporary0.a = (( inversesqrt( Temporary0.a ) ) ); Temporary0.a = (( 1.0 / Temporary0.a ) ); Temporary0.a = (-Temporary0.a + PConstFloat[15].r); Temporary0.a = (Temporary0.a * PConstFloat[15].g); Temporary0.a = clamp(Temporary0.a, 0.0, 1.0); Temporary0.a = (Temporary0.a * Temporary0.a); Temporary1.a = ((Temporary7.a * Temporary7.a) + -Temporary6.b); Temporary8.rgb = ((Temporary0.aaa * Temporary1.aaa) + Temporary6.bbb); } else { Temporary8.rgb = (Temporary6.bbb); } Temporary6.rgb = (Temporary7.rgb * Temporary8.rgb); } Temporary7 = (texture2D( PSampler3, Temporary2.ba ).rgba ); Temporary0.a = (Temporary7.a * PConstFloat[11].g); Temporary2 = (texture2D( PSampler4, Temporary2.rg ).rgba ); Temporary1.a = ((Temporary2.a * PConstFloat[11].b) + -Temporary0.a); Temporary0.a = ((IN[0].r * Temporary1.a) + Temporary0.a); Temporary8.rgb = ((Temporary0.aaa * PConstGlobal[5].aaa) + PConstGlobal[5].rgb); Temporary0.a = (LocalConst16.a); Temporary9.rgb = (-Temporary0.aaa + -PConstFloat[4].rgb); Temporary10.rgb = (PConstFloat[6].rgb * PConstFloat[6].aaa); Temporary11.rgb = ((PConstFloat[7].aaa * PConstFloat[7].rgb) + -Temporary10.rgb); Temporary10.rgb = ((IN[0].aaa * Temporary11.rgb) + Temporary10.rgb); Temporary11.rgb = (Temporary7.rgb * Temporary10.rgb); Temporary0.r = ((dot(Temporary5.rgb,Temporary0.rgb))); Temporary0.g = (-Temporary0.r + -LocalConst16.a); InstrHelpTemp.r = ( ( Temporary0.r >= 0.0 ) ? abs(Temporary0.g) : -LocalConst16.a ); Temporary0.r = (InstrHelpTemp.r ); Temporary0.g = (Temporary0.r + LocalConst18.r); Temporary1.a = (( pow( abs( Temporary0.r ), LocalConst18.g ) ) ); Temporary0.r = (Temporary1.a * Temporary2.a); Temporary0.r = (Temporary0.r * PConstFloat[10].r); InstrHelpTemp.r = ( ( Temporary0.g >= 0.0 ) ? Temporary0.r : LocalConst19.g ); Temporary0.r = (InstrHelpTemp.r ); Temporary0.gb = (PConstFloat[8].rg * IN[2].rg); Temporary5 = (texture2D( PSampler4, Temporary0.gb ).rgba ); Temporary0.g = ((dot(Temporary5.rgb,LocalConst17.rgb))); Temporary12.rgb = ( mix(Temporary5.rgb, Temporary0.ggg, PConstFloat[10].ggg) ); Temporary0.gba = (Temporary12.rgb * PConstFloat[10].bbb); Temporary1.a = ((dot(Temporary2.rgb,LocalConst17.rgb))); Temporary5.rgb = ( mix(Temporary2.rgb, Temporary1.aaa, PConstFloat[10].aaa) ); Temporary2.rgb = (Temporary5.rgb * PConstFloat[11].rrr); Temporary5.rgb = (Temporary0.gba * Temporary2.rgb); Temporary5.rgb = (Temporary5.rgb * PConstFloat[9].rgb); Temporary0.gba = ((Temporary0.gba * Temporary2.rgb) + -Temporary5.rgb); Temporary0.gba = ((IN[0].ggg * Temporary0.gba) + Temporary5.rgb); Temporary0.rgb = (Temporary0.gba + Temporary0.rrr); Temporary0.rgb = ((Temporary10.rgb * -Temporary7.rgb) + Temporary0.rgb); Temporary0.rgb = ((IN[0].rrr * Temporary0.rgb) + Temporary11.rgb); Temporary0.rgb = (Temporary9.rgb * Temporary0.rgb); Temporary0.rgb = ((Temporary0.rgb * PConstGlobal[4].aaa) + PConstGlobal[4].rgb); Temporary0.a = (PConstFloat[11].a); Temporary1.a = ( mix(PConstFloat[12].r, Temporary0.a, IN[0].r) ); Temporary0.a = ((dot(Temporary3.rgb,Temporary1.rgb))); Temporary0.a = clamp(Temporary0.a, 0.0, 1.0); Temporary2.r = (Temporary0.a + LocalConst18.r); InstrHelpTemp.a = ( ( Temporary2.r >= 0.0 ) ? Temporary0.a : LocalConst19.g ); Temporary0.a = (InstrHelpTemp.a ); Temporary1.r = ((dot(Temporary4.rgb,Temporary1.rgb))); Temporary1.r = clamp(Temporary1.r, 0.0, 1.0); Temporary1.g = (Temporary1.r + LocalConst18.r); Temporary2.r = (( pow( abs( Temporary1.r ), Temporary1.a ) ) ); Temporary1.rba = (Temporary8.rgb * Temporary2.rrr); InstrHelpTemp.rgb = ( ( Temporary1.g >= 0.0 ) ? Temporary1.rba : LocalConst19.ggg ); Temporary1.rgb = (InstrHelpTemp.rgb ); Temporary0.rgb = ((Temporary0.rgb * Temporary0.aaa) + Temporary1.rgb); Temporary0.rgb = (Temporary6.rgb * Temporary0.rgb); gl_FragData[0].rgb = (Temporary0.rgb * PConstFloat[13].rgb); gl_FragData[0].a = (LocalConst19.g); }