#extension GL_ARB_shader_texture_lod : enable uniform sampler2D _MainTex; uniform vec4 _MainTex_TexelSize; varying vec2 xlv_TEXCOORD0; void main () { vec2 rcpFrame_1; rcpFrame_1 = _MainTex_TexelSize.xy; vec3 tmpvar_2; float subPixelOffset_3; float spanLength_4; bool directionN_5; bool doneP_7; bool doneN_8; float lumaEndP_9; float lumaEndN_10; vec2 offNP_11; vec2 posP_12; vec2 posN_13; bool pairN_14; float gradientN_15; float lengthSign_16; bool horzSpan_17; float blendL_18; vec3 rgbL_19; float range_20; float lumaS_21; float lumaN_22; doneN_8 = bool(0); doneP_7 = bool(0); vec4 tmpvar_23; tmpvar_23.zw = vec2(0.0, 0.0); tmpvar_23.xy = (xlv_TEXCOORD0 + (vec2(0.0, -1.0) * _MainTex_TexelSize.xy)); vec4 tmpvar_24; tmpvar_24 = texture2DLod (_MainTex, tmpvar_23.xy, 0.0); vec4 tmpvar_25; tmpvar_25.zw = vec2(0.0, 0.0); tmpvar_25.xy = (xlv_TEXCOORD0 + (vec2(-1.0, 0.0) * _MainTex_TexelSize.xy)); vec4 tmpvar_26; tmpvar_26 = texture2DLod (_MainTex, tmpvar_25.xy, 0.0); vec4 tmpvar_27; tmpvar_27 = texture2DLod (_MainTex, xlv_TEXCOORD0, 0.0); vec4 tmpvar_28; tmpvar_28.zw = vec2(0.0, 0.0); tmpvar_28.xy = (xlv_TEXCOORD0 + (vec2(1.0, 0.0) * _MainTex_TexelSize.xy)); vec4 tmpvar_29; tmpvar_29 = texture2DLod (_MainTex, tmpvar_28.xy, 0.0); vec4 tmpvar_30; tmpvar_30.zw = vec2(0.0, 0.0); tmpvar_30.xy = (xlv_TEXCOORD0 + (vec2(0.0, 1.0) * _MainTex_TexelSize.xy)); vec4 tmpvar_31; tmpvar_31 = texture2DLod (_MainTex, tmpvar_30.xy, 0.0); float tmpvar_32; tmpvar_32 = ((tmpvar_24.y * 1.96321) + tmpvar_24.x); lumaN_22 = tmpvar_32; float tmpvar_33; tmpvar_33 = ((tmpvar_26.y * 1.96321) + tmpvar_26.x); float tmpvar_34; tmpvar_34 = ((tmpvar_27.y * 1.96321) + tmpvar_27.x); float tmpvar_35; tmpvar_35 = ((tmpvar_29.y * 1.96321) + tmpvar_29.x); float tmpvar_36; tmpvar_36 = ((tmpvar_31.y * 1.96321) + tmpvar_31.x); lumaS_21 = tmpvar_36; float tmpvar_37; tmpvar_37 = max (max (tmpvar_34, tmpvar_32), max (max (tmpvar_33, tmpvar_36), tmpvar_35)); range_20 = (tmpvar_37 - min (min (tmpvar_34, tmpvar_32), min ( min (tmpvar_33, tmpvar_36) , tmpvar_35))); float tmpvar_38; tmpvar_38 = max (0.0625, (tmpvar_37 * 0.125)); if ((range_20 < tmpvar_38)) { tmpvar_2 = tmpvar_27.xyz; } else { rgbL_19 = ((tmpvar_24.xyz + tmpvar_26.xyz) + ((tmpvar_27.xyz + tmpvar_29.xyz) + tmpvar_31.xyz)); blendL_18 = (max (0.0, ( (abs((( ((tmpvar_32 + tmpvar_33) + (tmpvar_35 + tmpvar_36)) * 0.25) - tmpvar_34)) / range_20) - 0.25)) * 1.33333); float tmpvar_39; tmpvar_39 = min (0.75, blendL_18); blendL_18 = tmpvar_39; vec4 tmpvar_40; tmpvar_40.zw = vec2(0.0, 0.0); tmpvar_40.xy = (xlv_TEXCOORD0 - _MainTex_TexelSize.xy); vec4 tmpvar_41; tmpvar_41 = texture2DLod (_MainTex, tmpvar_40.xy, 0.0); vec4 tmpvar_42; tmpvar_42.zw = vec2(0.0, 0.0); tmpvar_42.xy = (xlv_TEXCOORD0 + (vec2(1.0, -1.0) * _MainTex_TexelSize.xy)); vec4 tmpvar_43; tmpvar_43 = texture2DLod (_MainTex, tmpvar_42.xy, 0.0); vec4 tmpvar_44; tmpvar_44.zw = vec2(0.0, 0.0); tmpvar_44.xy = (xlv_TEXCOORD0 + (vec2(-1.0, 1.0) * _MainTex_TexelSize.xy)); vec4 tmpvar_45; tmpvar_45 = texture2DLod (_MainTex, tmpvar_44.xy, 0.0); vec4 tmpvar_46; tmpvar_46.zw = vec2(0.0, 0.0); tmpvar_46.xy = (xlv_TEXCOORD0 + _MainTex_TexelSize.xy); vec4 tmpvar_47; tmpvar_47 = texture2DLod (_MainTex, tmpvar_46.xy, 0.0); rgbL_19 = ((rgbL_19 + tmpvar_41.xyz) + ((tmpvar_43.xyz + tmpvar_45.xyz) + tmpvar_47.xyz)); rgbL_19 = (rgbL_19 * vec3(0.111111, 0.111111, 0.111111)); float tmpvar_48; tmpvar_48 = ((tmpvar_41.y * 1.96321) + tmpvar_41.x); float tmpvar_49; tmpvar_49 = ((tmpvar_43.y * 1.96321) + tmpvar_43.x); float tmpvar_50; tmpvar_50 = ((tmpvar_45.y * 1.96321) + tmpvar_45.x); float tmpvar_51; tmpvar_51 = ((tmpvar_47.y * 1.96321) + tmpvar_47.x); horzSpan_17 = ((( abs((((0.25 * tmpvar_48) + (-0.5 * tmpvar_33)) + (0.25 * tmpvar_50))) + abs((((0.5 * tmpvar_32) - tmpvar_34) + (0.5 * tmpvar_36))) ) + abs( (((0.25 * tmpvar_49) + (-0.5 * tmpvar_35)) + (0.25 * tmpvar_51)) )) >= (( abs((((0.25 * tmpvar_48) + (-0.5 * tmpvar_32)) + (0.25 * tmpvar_49))) + abs((((0.5 * tmpvar_33) - tmpvar_34) + (0.5 * tmpvar_35))) ) + abs( (((0.25 * tmpvar_50) + (-0.5 * tmpvar_36)) + (0.25 * tmpvar_51)) ))); float tmpvar_52; if (horzSpan_17) { tmpvar_52 = -(_MainTex_TexelSize.y); } else { tmpvar_52 = -(_MainTex_TexelSize.x); }; lengthSign_16 = tmpvar_52; if (!(horzSpan_17)) { lumaN_22 = tmpvar_33; }; if (!(horzSpan_17)) { lumaS_21 = tmpvar_35; }; float tmpvar_53; tmpvar_53 = abs((lumaN_22 - tmpvar_34)); gradientN_15 = tmpvar_53; float tmpvar_54; tmpvar_54 = abs((lumaS_21 - tmpvar_34)); lumaN_22 = ((lumaN_22 + tmpvar_34) * 0.5); lumaS_21 = ((lumaS_21 + tmpvar_34) * 0.5); pairN_14 = (tmpvar_53 >= tmpvar_54); if (!(pairN_14)) { lumaN_22 = lumaS_21; }; if (!(pairN_14)) { gradientN_15 = tmpvar_54; }; if (!(pairN_14)) { lengthSign_16 = -(tmpvar_52); }; float tmpvar_55; if (horzSpan_17) { tmpvar_55 = 0.0; } else { tmpvar_55 = (lengthSign_16 * 0.5); }; posN_13.x = (xlv_TEXCOORD0.x + tmpvar_55); float tmpvar_56; if (horzSpan_17) { tmpvar_56 = (lengthSign_16 * 0.5); } else { tmpvar_56 = 0.0; }; posN_13.y = (xlv_TEXCOORD0.y + tmpvar_56); gradientN_15 = (gradientN_15 * 0.25); posP_12 = posN_13; vec2 tmpvar_57; if (horzSpan_17) { vec2 tmpvar_58; tmpvar_58.y = 0.0; tmpvar_58.x = rcpFrame_1.x; tmpvar_57 = tmpvar_58; } else { vec2 tmpvar_59; tmpvar_59.x = 0.0; tmpvar_59.y = rcpFrame_1.y; tmpvar_57 = tmpvar_59; }; lumaEndN_10 = lumaN_22; lumaEndP_9 = lumaN_22; posN_13 = (posN_13 + (tmpvar_57 * vec2(-2.0, -2.0))); posP_12 = (posP_12 + (tmpvar_57 * vec2(2.0, 2.0))); offNP_11 = (tmpvar_57 * vec2(3.0, 3.0)); for (int i_6; i_6 < 4; i_6++) { if (!(doneN_8)) { vec4 tmpvar_60; tmpvar_60 = texture2DGradARB (_MainTex, posN_13, offNP_11, offNP_11); lumaEndN_10 = ((tmpvar_60.y * 1.96321) + tmpvar_60.x); }; if (!(doneP_7)) { vec4 tmpvar_61; tmpvar_61 = texture2DGradARB (_MainTex, posP_12, offNP_11, offNP_11); lumaEndP_9 = ((tmpvar_61.y * 1.96321) + tmpvar_61.x); }; bool tmpvar_62; if (doneN_8) { tmpvar_62 = bool(1); } else { tmpvar_62 = (abs((lumaEndN_10 - lumaN_22)) >= gradientN_15); }; doneN_8 = tmpvar_62; bool tmpvar_63; if (doneP_7) { tmpvar_63 = bool(1); } else { tmpvar_63 = (abs((lumaEndP_9 - lumaN_22)) >= gradientN_15); }; doneP_7 = tmpvar_63; if ((tmpvar_62 && tmpvar_63)) { break; }; if (!(tmpvar_62)) { posN_13 = (posN_13 - offNP_11); }; if (!(tmpvar_63)) { posP_12 = (posP_12 + offNP_11); }; }; float tmpvar_64; if (horzSpan_17) { tmpvar_64 = (xlv_TEXCOORD0.x - posN_13.x); } else { tmpvar_64 = (xlv_TEXCOORD0.y - posN_13.y); }; float tmpvar_65; if (horzSpan_17) { tmpvar_65 = (posP_12.x - xlv_TEXCOORD0.x); } else { tmpvar_65 = (posP_12.y - xlv_TEXCOORD0.y); }; directionN_5 = (tmpvar_64 < tmpvar_65); float tmpvar_66; if (directionN_5) { tmpvar_66 = lumaEndN_10; } else { tmpvar_66 = lumaEndP_9; }; lumaEndN_10 = tmpvar_66; if ((((tmpvar_34 - lumaN_22) < 0.0) == ((tmpvar_66 - lumaN_22) < 0.0))) { lengthSign_16 = 0.0; }; spanLength_4 = (tmpvar_65 + tmpvar_64); float tmpvar_67; if (directionN_5) { tmpvar_67 = tmpvar_64; } else { tmpvar_67 = tmpvar_65; }; subPixelOffset_3 = ((0.5 + (tmpvar_67 * (-1.0 / spanLength_4) )) * lengthSign_16); float tmpvar_68; if (horzSpan_17) { tmpvar_68 = 0.0; } else { tmpvar_68 = subPixelOffset_3; }; float tmpvar_69; if (horzSpan_17) { tmpvar_69 = subPixelOffset_3; } else { tmpvar_69 = 0.0; }; vec2 tmpvar_70; tmpvar_70.x = (xlv_TEXCOORD0.x + tmpvar_68); tmpvar_70.y = (xlv_TEXCOORD0.y + tmpvar_69); vec4 tmpvar_71; tmpvar_71 = texture2DLod (_MainTex, tmpvar_70, 0.0); vec3 tmpvar_72; tmpvar_72.x = -(tmpvar_39); tmpvar_72.y = -(tmpvar_39); tmpvar_72.z = -(tmpvar_39); tmpvar_2 = ((tmpvar_72 * tmpvar_71.xyz) + ((rgbL_19 * vec3(tmpvar_39)) + tmpvar_71.xyz)); }; vec4 tmpvar_73; tmpvar_73.w = 0.0; tmpvar_73.xyz = tmpvar_2; gl_FragData[0] = tmpvar_73; } // stats: 194 alu 12 tex 26 flow // inputs: 1 // #0: xlv_TEXCOORD0 (high float) 2x1 [-1] // uniforms: 1 (total size: 0) // #0: _MainTex_TexelSize (high float) 4x1 [-1] // textures: 1 // #0: _MainTex (high 2d) 0x0 [-1]