These are great!
Is there a way for it to not pick up on the text colour when doing the effect? For instance BurningForBigText, the fire goes black if used on black text., green on green text etc. I think the TwarpFragmentShader is using the text colour to create the fire colour.

I do not know a thing about shaders but Copilot (eventually...) provided a seeming fix in separating out the rgb and the alpha and using that to mix the final colour.
This is what it changed:
for (float x = 0.0; x <= MAX_LOOPS; x++) {
if((u__glow_radius * 2.0) - (x*u__glow_radius*0.25) <= 0.0) break;
for (float y = 0.0; y <= MAX_LOOPS; y++) {
if((u__glow_radius * 2.0) - (y*u__glow_radius*0.25) <= 0.0) break;
float offx = u__glow_radius - distance((u__glow_radius * 2.0), x*u__glow_radius*0.25);
float offy = u__glow_radius - distance((u__glow_radius * 2.0), y*u__glow_radius*0.25);
vec2 offset = vec2(offx, offy) / u_model_size;
//It added this bit here to separate out the rgb and alpha
float glow_alpha = texture2D(tex0, distortedUV + offset).a;
vec3 fire_color = mix(u__glow_color.rgb, u__end_color.rgb, 1.0 - v__uv.y);
glow_color.rgb += fire_color * glow_alpha;
glow_color.a += glow_alpha;
}
}
//final mix was here
glow_color.rgb /= (4.0 * u__glow_radius * u__glow_radius);
glow_color.a /= (4.0 * u__glow_radius * u__glow_radius);
vec4 final = mix(vec4(glow_color.rgb * u__glow_intensity, glow_color.a), text_color, text_color.a);
gl_FragColor = final;

Resulting image above. It works with {color} tags in renpy!
The font browser is awesome also, but doesn't add font files in the base fonts folder, they have to be in a subfolder. It was throwing up an error (my font_list was empty even though I had fonts in my root font folder). It fixed by adding a single font into a folder. I know it may be best practice to put fonts in subfolders but just letting you know in case this error happens to anyone else!
These are simply amazing. Thank you!



