mirror of
https://github.com/scratchfoundation/bgfx.git
synced 2024-11-29 11:05:36 -05:00
292 lines
8.6 KiB
Text
292 lines
8.6 KiB
Text
#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;
|
|
bool doneP_4;
|
|
bool doneN_5;
|
|
float lumaEndP_6;
|
|
float lumaEndN_7;
|
|
vec2 offNP_8;
|
|
vec2 posP_9;
|
|
vec2 posN_10;
|
|
float gradientN_11;
|
|
float lengthSign_12;
|
|
vec3 rgbL_13;
|
|
float lumaS_14;
|
|
float lumaN_15;
|
|
vec4 tmpvar_16;
|
|
tmpvar_16.zw = vec2(0.0, 0.0);
|
|
tmpvar_16.xy = (xlv_TEXCOORD0 + (vec2(0.0, -1.0) * _MainTex_TexelSize.xy));
|
|
vec4 tmpvar_17;
|
|
tmpvar_17 = texture2DLod (_MainTex, tmpvar_16.xy, 0.0);
|
|
vec4 tmpvar_18;
|
|
tmpvar_18.zw = vec2(0.0, 0.0);
|
|
tmpvar_18.xy = (xlv_TEXCOORD0 + (vec2(-1.0, 0.0) * _MainTex_TexelSize.xy));
|
|
vec4 tmpvar_19;
|
|
tmpvar_19 = texture2DLod (_MainTex, tmpvar_18.xy, 0.0);
|
|
vec4 tmpvar_20;
|
|
tmpvar_20 = texture2DLod (_MainTex, xlv_TEXCOORD0, 0.0);
|
|
vec4 tmpvar_21;
|
|
tmpvar_21.zw = vec2(0.0, 0.0);
|
|
tmpvar_21.xy = (xlv_TEXCOORD0 + (vec2(1.0, 0.0) * _MainTex_TexelSize.xy));
|
|
vec4 tmpvar_22;
|
|
tmpvar_22 = texture2DLod (_MainTex, tmpvar_21.xy, 0.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);
|
|
float tmpvar_25;
|
|
tmpvar_25 = ((tmpvar_17.y * 1.96321) + tmpvar_17.x);
|
|
lumaN_15 = tmpvar_25;
|
|
float tmpvar_26;
|
|
tmpvar_26 = ((tmpvar_19.y * 1.96321) + tmpvar_19.x);
|
|
float tmpvar_27;
|
|
tmpvar_27 = ((tmpvar_20.y * 1.96321) + tmpvar_20.x);
|
|
float tmpvar_28;
|
|
tmpvar_28 = ((tmpvar_22.y * 1.96321) + tmpvar_22.x);
|
|
float tmpvar_29;
|
|
tmpvar_29 = ((tmpvar_24.y * 1.96321) + tmpvar_24.x);
|
|
lumaS_14 = tmpvar_29;
|
|
float tmpvar_30;
|
|
tmpvar_30 = max (max (tmpvar_27, tmpvar_25), max (max (tmpvar_26, tmpvar_29), tmpvar_28));
|
|
float tmpvar_31;
|
|
tmpvar_31 = (tmpvar_30 - min (min (tmpvar_27, tmpvar_25), min (
|
|
min (tmpvar_26, tmpvar_29)
|
|
, tmpvar_28)));
|
|
float tmpvar_32;
|
|
tmpvar_32 = max (0.0416667, (tmpvar_30 * 0.125));
|
|
if ((tmpvar_31 < tmpvar_32)) {
|
|
tmpvar_2 = tmpvar_20.xyz;
|
|
} else {
|
|
float tmpvar_33;
|
|
tmpvar_33 = min (0.75, (max (0.0,
|
|
((abs((
|
|
(((tmpvar_25 + tmpvar_26) + (tmpvar_28 + tmpvar_29)) * 0.25)
|
|
- tmpvar_27)) / tmpvar_31) - 0.25)
|
|
) * 1.33333));
|
|
vec4 tmpvar_34;
|
|
tmpvar_34.zw = vec2(0.0, 0.0);
|
|
tmpvar_34.xy = (xlv_TEXCOORD0 - _MainTex_TexelSize.xy);
|
|
vec4 tmpvar_35;
|
|
tmpvar_35 = texture2DLod (_MainTex, tmpvar_34.xy, 0.0);
|
|
vec4 tmpvar_36;
|
|
tmpvar_36.zw = vec2(0.0, 0.0);
|
|
tmpvar_36.xy = (xlv_TEXCOORD0 + (vec2(1.0, -1.0) * _MainTex_TexelSize.xy));
|
|
vec4 tmpvar_37;
|
|
tmpvar_37 = texture2DLod (_MainTex, tmpvar_36.xy, 0.0);
|
|
vec4 tmpvar_38;
|
|
tmpvar_38.zw = vec2(0.0, 0.0);
|
|
tmpvar_38.xy = (xlv_TEXCOORD0 + (vec2(-1.0, 1.0) * _MainTex_TexelSize.xy));
|
|
vec4 tmpvar_39;
|
|
tmpvar_39 = texture2DLod (_MainTex, tmpvar_38.xy, 0.0);
|
|
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);
|
|
rgbL_13 = (((tmpvar_17.xyz + tmpvar_19.xyz) + (tmpvar_20.xyz + tmpvar_22.xyz)) + ((tmpvar_24.xyz + tmpvar_35.xyz) + (
|
|
(tmpvar_37.xyz + tmpvar_39.xyz)
|
|
+ tmpvar_41.xyz)));
|
|
rgbL_13 = (rgbL_13 * vec3(0.111111, 0.111111, 0.111111));
|
|
float tmpvar_42;
|
|
tmpvar_42 = ((tmpvar_35.y * 1.96321) + tmpvar_35.x);
|
|
float tmpvar_43;
|
|
tmpvar_43 = ((tmpvar_37.y * 1.96321) + tmpvar_37.x);
|
|
float tmpvar_44;
|
|
tmpvar_44 = ((tmpvar_39.y * 1.96321) + tmpvar_39.x);
|
|
float tmpvar_45;
|
|
tmpvar_45 = ((tmpvar_41.y * 1.96321) + tmpvar_41.x);
|
|
bool tmpvar_46;
|
|
tmpvar_46 = (((
|
|
abs((((0.25 * tmpvar_42) + (-0.5 * tmpvar_26)) + (0.25 * tmpvar_44)))
|
|
+
|
|
abs((((0.5 * tmpvar_25) - tmpvar_27) + (0.5 * tmpvar_29)))
|
|
) + abs(
|
|
(((0.25 * tmpvar_43) + (-0.5 * tmpvar_28)) + (0.25 * tmpvar_45))
|
|
)) >= ((
|
|
abs((((0.25 * tmpvar_42) + (-0.5 * tmpvar_25)) + (0.25 * tmpvar_43)))
|
|
+
|
|
abs((((0.5 * tmpvar_26) - tmpvar_27) + (0.5 * tmpvar_28)))
|
|
) + abs(
|
|
(((0.25 * tmpvar_44) + (-0.5 * tmpvar_29)) + (0.25 * tmpvar_45))
|
|
)));
|
|
float tmpvar_47;
|
|
if (tmpvar_46) {
|
|
tmpvar_47 = -(_MainTex_TexelSize.y);
|
|
} else {
|
|
tmpvar_47 = -(_MainTex_TexelSize.x);
|
|
};
|
|
lengthSign_12 = tmpvar_47;
|
|
if (!(tmpvar_46)) {
|
|
lumaN_15 = tmpvar_26;
|
|
};
|
|
if (!(tmpvar_46)) {
|
|
lumaS_14 = tmpvar_28;
|
|
};
|
|
float tmpvar_48;
|
|
tmpvar_48 = abs((lumaN_15 - tmpvar_27));
|
|
gradientN_11 = tmpvar_48;
|
|
float tmpvar_49;
|
|
tmpvar_49 = abs((lumaS_14 - tmpvar_27));
|
|
lumaN_15 = ((lumaN_15 + tmpvar_27) * 0.5);
|
|
lumaS_14 = ((lumaS_14 + tmpvar_27) * 0.5);
|
|
bool tmpvar_50;
|
|
tmpvar_50 = (tmpvar_48 >= tmpvar_49);
|
|
if (!(tmpvar_50)) {
|
|
lumaN_15 = lumaS_14;
|
|
};
|
|
if (!(tmpvar_50)) {
|
|
gradientN_11 = tmpvar_49;
|
|
};
|
|
if (!(tmpvar_50)) {
|
|
lengthSign_12 = -(tmpvar_47);
|
|
};
|
|
float tmpvar_51;
|
|
if (tmpvar_46) {
|
|
tmpvar_51 = 0.0;
|
|
} else {
|
|
tmpvar_51 = (lengthSign_12 * 0.5);
|
|
};
|
|
posN_10.x = (xlv_TEXCOORD0.x + tmpvar_51);
|
|
float tmpvar_52;
|
|
if (tmpvar_46) {
|
|
tmpvar_52 = (lengthSign_12 * 0.5);
|
|
} else {
|
|
tmpvar_52 = 0.0;
|
|
};
|
|
posN_10.y = (xlv_TEXCOORD0.y + tmpvar_52);
|
|
gradientN_11 = (gradientN_11 * 0.25);
|
|
posP_9 = posN_10;
|
|
vec2 tmpvar_53;
|
|
if (tmpvar_46) {
|
|
vec2 tmpvar_54;
|
|
tmpvar_54.y = 0.0;
|
|
tmpvar_54.x = rcpFrame_1.x;
|
|
tmpvar_53 = tmpvar_54;
|
|
} else {
|
|
vec2 tmpvar_55;
|
|
tmpvar_55.x = 0.0;
|
|
tmpvar_55.y = rcpFrame_1.y;
|
|
tmpvar_53 = tmpvar_55;
|
|
};
|
|
offNP_8 = tmpvar_53;
|
|
lumaEndN_7 = lumaN_15;
|
|
lumaEndP_6 = lumaN_15;
|
|
doneN_5 = bool(0);
|
|
doneP_4 = bool(0);
|
|
posN_10 = (posN_10 - tmpvar_53);
|
|
posP_9 = (posP_9 + tmpvar_53);
|
|
for (int i_3 = 0; i_3 < 16; i_3++) {
|
|
if (!(doneN_5)) {
|
|
vec4 tmpvar_56;
|
|
tmpvar_56 = texture2DLod (_MainTex, posN_10, 0.0);
|
|
lumaEndN_7 = ((tmpvar_56.y * 1.96321) + tmpvar_56.x);
|
|
};
|
|
if (!(doneP_4)) {
|
|
vec4 tmpvar_57;
|
|
tmpvar_57 = texture2DLod (_MainTex, posP_9, 0.0);
|
|
lumaEndP_6 = ((tmpvar_57.y * 1.96321) + tmpvar_57.x);
|
|
};
|
|
bool tmpvar_58;
|
|
if (doneN_5) {
|
|
tmpvar_58 = bool(1);
|
|
} else {
|
|
tmpvar_58 = (abs((lumaEndN_7 - lumaN_15)) >= gradientN_11);
|
|
};
|
|
doneN_5 = tmpvar_58;
|
|
bool tmpvar_59;
|
|
if (doneP_4) {
|
|
tmpvar_59 = bool(1);
|
|
} else {
|
|
tmpvar_59 = (abs((lumaEndP_6 - lumaN_15)) >= gradientN_11);
|
|
};
|
|
doneP_4 = tmpvar_59;
|
|
if ((tmpvar_58 && tmpvar_59)) {
|
|
break;
|
|
};
|
|
if (!(tmpvar_58)) {
|
|
posN_10 = (posN_10 - offNP_8);
|
|
};
|
|
if (!(tmpvar_59)) {
|
|
posP_9 = (posP_9 + offNP_8);
|
|
};
|
|
};
|
|
float tmpvar_60;
|
|
if (tmpvar_46) {
|
|
tmpvar_60 = (xlv_TEXCOORD0.x - posN_10.x);
|
|
} else {
|
|
tmpvar_60 = (xlv_TEXCOORD0.y - posN_10.y);
|
|
};
|
|
float tmpvar_61;
|
|
if (tmpvar_46) {
|
|
tmpvar_61 = (posP_9.x - xlv_TEXCOORD0.x);
|
|
} else {
|
|
tmpvar_61 = (posP_9.y - xlv_TEXCOORD0.y);
|
|
};
|
|
bool tmpvar_62;
|
|
tmpvar_62 = (tmpvar_60 < tmpvar_61);
|
|
float tmpvar_63;
|
|
if (tmpvar_62) {
|
|
tmpvar_63 = lumaEndN_7;
|
|
} else {
|
|
tmpvar_63 = lumaEndP_6;
|
|
};
|
|
lumaEndN_7 = tmpvar_63;
|
|
if ((((tmpvar_27 - lumaN_15) < 0.0) == ((tmpvar_63 - lumaN_15) < 0.0))) {
|
|
lengthSign_12 = 0.0;
|
|
};
|
|
float tmpvar_64;
|
|
tmpvar_64 = (tmpvar_61 + tmpvar_60);
|
|
float tmpvar_65;
|
|
if (tmpvar_62) {
|
|
tmpvar_65 = tmpvar_60;
|
|
} else {
|
|
tmpvar_65 = tmpvar_61;
|
|
};
|
|
float tmpvar_66;
|
|
tmpvar_66 = ((0.5 + (tmpvar_65 *
|
|
(-1.0 / tmpvar_64)
|
|
)) * lengthSign_12);
|
|
float tmpvar_67;
|
|
if (tmpvar_46) {
|
|
tmpvar_67 = 0.0;
|
|
} else {
|
|
tmpvar_67 = tmpvar_66;
|
|
};
|
|
float tmpvar_68;
|
|
if (tmpvar_46) {
|
|
tmpvar_68 = tmpvar_66;
|
|
} else {
|
|
tmpvar_68 = 0.0;
|
|
};
|
|
vec2 tmpvar_69;
|
|
tmpvar_69.x = (xlv_TEXCOORD0.x + tmpvar_67);
|
|
tmpvar_69.y = (xlv_TEXCOORD0.y + tmpvar_68);
|
|
vec4 tmpvar_70;
|
|
tmpvar_70 = texture2DLod (_MainTex, tmpvar_69, 0.0);
|
|
vec3 tmpvar_71;
|
|
tmpvar_71.x = -(tmpvar_33);
|
|
tmpvar_71.y = -(tmpvar_33);
|
|
tmpvar_71.z = -(tmpvar_33);
|
|
tmpvar_2 = ((tmpvar_71 * tmpvar_70.xyz) + ((rgbL_13 * vec3(tmpvar_33)) + tmpvar_70.xyz));
|
|
};
|
|
vec4 tmpvar_72;
|
|
tmpvar_72.w = 0.0;
|
|
tmpvar_72.xyz = tmpvar_2;
|
|
gl_FragData[0] = tmpvar_72;
|
|
}
|
|
|
|
|
|
// stats: 191 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]
|