mirror of
https://github.com/bevyengine/bevy
synced 2024-11-22 12:43:34 +00:00
Fix UI border artifacts caused by incorrect blending (#12725)
Fixes https://github.com/bevyengine/bevy/issues/12702. Co-authored-by: François Mockers <mockersf@gmail.com>
This commit is contained in:
parent
debcf3fb1d
commit
8da4fcb616
1 changed files with 5 additions and 2 deletions
|
@ -159,12 +159,15 @@ fn draw(in: VertexOutput) -> vec4<f32> {
|
|||
// is present, otherwise an outline about the external boundary would be drawn even without
|
||||
// a border.
|
||||
let t = 1. - select(step(0.0, border_distance), smoothstep(0.0, fborder, border_distance), external_distance < internal_distance);
|
||||
return color.rgba * t;
|
||||
|
||||
// Blend mode ALPHA_BLENDING is used for UI elements, so we don't premultiply alpha here.
|
||||
return vec4(color.rgb, color.a * t);
|
||||
}
|
||||
|
||||
// The item is a rectangle, draw normally with anti-aliasing at the edges.
|
||||
let t = 1. - smoothstep(0.0, fexternal, external_distance);
|
||||
return color.rgba * t;
|
||||
|
||||
return vec4(color.rgb, color.a * t);
|
||||
}
|
||||
|
||||
@fragment
|
||||
|
|
Loading…
Reference in a new issue