diff options
author | 2022-12-02 21:10:44 +0100 | |
---|---|---|
committer | 2022-12-02 21:10:44 +0100 | |
commit | 91d5516474dcb9494987f264783ad1400781b025 (patch) | |
tree | 11376e29c3c1358f7576e502366a990db9fb1c08 /glow/src/shader/compatibility/quad.vert | |
parent | da244ff8048e0b339c1502372894a2460a637241 (diff) | |
parent | 60e41666d0e203d9777de981121c39f569bc3a7b (diff) | |
download | iced-91d5516474dcb9494987f264783ad1400781b025.tar.gz iced-91d5516474dcb9494987f264783ad1400781b025.tar.bz2 iced-91d5516474dcb9494987f264783ad1400781b025.zip |
Merge pull request #1506 from rksm/non-uniform-border-radius-for-quads
non uniform border radius for quads
Diffstat (limited to 'glow/src/shader/compatibility/quad.vert')
-rw-r--r-- | glow/src/shader/compatibility/quad.vert | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/glow/src/shader/compatibility/quad.vert b/glow/src/shader/compatibility/quad.vert index abe70c0e..89931f06 100644 --- a/glow/src/shader/compatibility/quad.vert +++ b/glow/src/shader/compatibility/quad.vert @@ -5,7 +5,7 @@ attribute vec2 i_Pos; attribute vec2 i_Scale; attribute vec4 i_Color; attribute vec4 i_BorderColor; -attribute float i_BorderRadius; +attribute vec4 i_BorderRadius; attribute float i_BorderWidth; attribute vec2 q_Pos; @@ -13,7 +13,7 @@ varying vec4 v_Color; varying vec4 v_BorderColor; varying vec2 v_Pos; varying vec2 v_Scale; -varying float v_BorderRadius; +varying vec4 v_BorderRadius; varying float v_BorderWidth; @@ -21,9 +21,11 @@ void main() { vec2 p_Pos = i_Pos * u_Scale; vec2 p_Scale = i_Scale * u_Scale; - float i_BorderRadius = min( - i_BorderRadius, - min(i_Scale.x, i_Scale.y) / 2.0 + vec4 i_BorderRadius = vec4( + min(i_BorderRadius.x, min(i_Scale.x, i_Scale.y) / 2.0), + min(i_BorderRadius.y, min(i_Scale.x, i_Scale.y) / 2.0), + min(i_BorderRadius.z, min(i_Scale.x, i_Scale.y) / 2.0), + min(i_BorderRadius.w, min(i_Scale.x, i_Scale.y) / 2.0) ); mat4 i_Transform = mat4( |