float xll_saturate(float x) {
  return clamp(x, 0.0, 1.0);
}
vec3 xll_saturate(vec3 x) {
  return clamp(x, 0.0, 1.0);
}
uniform sampler2D _MainTex;
uniform sampler2D _BurntTex;
uniform mediump float _EmberFadeEnd;
uniform mediump float _EmberFadeStart;
lowp vec4 frag (mediump vec2 uv) {
    lowp vec3 base = texture2D(_MainTex, uv).xyz;
    lowp vec3 burn = texture2D(_BurntTex, uv).xyz;
    lowp float t;
    t = xll_saturate( ((_EmberFadeStart - 0.05) / (_EmberFadeStart - _EmberFadeEnd)) );
    return vec4(mix(base, burn, vec3(t)), 1.0);
}
varying mediump vec2 xlv_TEXCOORD0;
void main() {
    gl_FragColor = frag(xlv_TEXCOORD0);
}
