diff --git a/wgpu/src/shader/quad.wgsl b/wgpu/src/shader/quad.wgsl index bef8bd40..ff9fdae6 100644 --- a/wgpu/src/shader/quad.wgsl +++ b/wgpu/src/shader/quad.wgsl @@ -9,10 +9,6 @@ fn premultiply(color: vec4) -> vec4 { return vec4(color.xyz * color.a, color.a); } -fn blend(over: vec4, under: vec4, alpha: f32) -> vec4 { - return over * alpha + under * (1.0 - alpha); -} - fn distance_alg( frag_coord: vec2, position: vec2, diff --git a/wgpu/src/shader/quad/gradient.wgsl b/wgpu/src/shader/quad/gradient.wgsl index d743e26d..e8c54790 100644 --- a/wgpu/src/shader/quad/gradient.wgsl +++ b/wgpu/src/shader/quad/gradient.wgsl @@ -179,7 +179,7 @@ fn gradient_fs_main(input: GradientVertexOutput) -> @location(0) vec4 { internal_distance ); - mixed_color = blend(input.border_color, mixed_color, border_mix); + mixed_color = mix(mixed_color, input.border_color, border_mix); } var dist: f32 = distance_alg( diff --git a/wgpu/src/shader/quad/solid.wgsl b/wgpu/src/shader/quad/solid.wgsl index d5d1e604..f4c39f3d 100644 --- a/wgpu/src/shader/quad/solid.wgsl +++ b/wgpu/src/shader/quad/solid.wgsl @@ -97,7 +97,7 @@ fn solid_fs_main( internal_distance ); - mixed_color = blend(input.border_color, input.color, border_mix); + mixed_color = mix(input.color, input.border_color, border_mix); } var dist: f32 = distance_alg( @@ -125,7 +125,7 @@ fn solid_fs_main( let shadow_distance = max(rounded_box_sdf(input.position.xy - input.pos - input.shadow_offset - (input.scale / 2.0), input.scale / 2.0, shadow_radius), 0.); let shadow_alpha = 1.0 - smoothstep(-input.shadow_blur_radius, input.shadow_blur_radius, shadow_distance); - return blend(input.shadow_color, quad_color, (1.0 - radius_alpha) * shadow_alpha); + return mix(quad_color, input.shadow_color, (1.0 - radius_alpha) * shadow_alpha); } else { return quad_color; }