mirror of
https://github.com/enduro2d/enduro2d.git
synced 2025-12-15 00:11:55 +07:00
fix sdf shader
This commit is contained in:
@@ -14,14 +14,14 @@ varying vec4 v_color;
|
||||
|
||||
void main() {
|
||||
float distance = 1.0 - texture2D(u_texture, v_st0).a;
|
||||
float alpha = smoothstep(u_char_width + u_char_edge, u_char_width, distance);
|
||||
float alpha = 1.0 - smoothstep(u_char_width, u_char_width + u_char_edge, distance);
|
||||
|
||||
float outline_alpha = smoothstep(u_outline_width + u_outline_edge, u_outline_width, distance);
|
||||
float outline_alpha = 1.0 - smoothstep(u_outline_width, u_outline_width + u_outline_edge, distance);
|
||||
float overall_alpha = alpha + (1.0 - alpha) * outline_alpha;
|
||||
vec4 overall_color = mix(u_outline_color, v_color, alpha / overall_alpha);
|
||||
|
||||
float distance_shadow = 1.0 - texture2D(u_texture, v_st0 + u_shadow_offset).a;
|
||||
float shadow_alpha = smoothstep(u_shadow_width + u_shadow_edge, u_shadow_width, distance_shadow);
|
||||
float shadow_alpha = 1.0 - smoothstep(u_shadow_width, u_shadow_width + u_shadow_edge, distance_shadow);
|
||||
vec4 shadow = vec4(u_shadow_color.rgb, shadow_alpha);
|
||||
|
||||
gl_FragColor = mix(shadow, overall_color, overall_alpha);
|
||||
|
||||
Reference in New Issue
Block a user