From b2dd727499800306b89dad2275e600781ef3739f Mon Sep 17 00:00:00 2001 From: ame Date: Wed, 9 Oct 2024 17:04:13 -0500 Subject: add gradient rect support --- include/render/fx_renderer/shaders.h | 67 ++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) (limited to 'include/render/fx_renderer/shaders.h') diff --git a/include/render/fx_renderer/shaders.h b/include/render/fx_renderer/shaders.h index 6c19744..ad18167 100644 --- a/include/render/fx_renderer/shaders.h +++ b/include/render/fx_renderer/shaders.h @@ -37,6 +37,24 @@ struct quad_shader { bool link_quad_program(struct quad_shader *shader); +struct quad_grad_shader { + int max_len; + + GLuint program; + GLint proj; + GLint colors; + GLint size; + GLint degree; + GLint grad_box; + GLint pos_attrib; + GLint linear; + GLint origin; + GLint count; + GLint blend; +}; + +bool link_quad_grad_program(struct quad_grad_shader *shader, int max_len); + struct quad_round_shader { GLuint program; GLint proj; @@ -49,6 +67,29 @@ struct quad_round_shader { bool link_quad_round_program(struct quad_round_shader *shader, enum fx_rounded_quad_shader_source source); +struct quad_grad_round_shader { + GLuint program; + GLint proj; + GLint color; + GLint pos_attrib; + GLint size; + GLint position; + GLint radius; + + GLint colors; + GLint grad_size; + GLint degree; + GLint grad_box; + GLint linear; + GLint origin; + GLint count; + GLint blend; + + int max_len; +}; + +bool link_quad_grad_round_program(struct quad_grad_round_shader *shader, enum fx_rounded_quad_shader_source source, int max_len); + struct tex_shader { GLuint program; GLint proj; @@ -84,6 +125,32 @@ struct rounded_border_corner_shader { bool link_rounded_border_corner_program(struct rounded_border_corner_shader *shader); +struct rounded_grad_border_corner_shader { + int max_len; + GLuint program; + GLint proj; + GLint is_top_left; + GLint is_top_right; + GLint is_bottom_left; + GLint is_bottom_right; + GLint position; + GLint radius; + GLint half_size; + GLint half_thickness; + + GLint colors; + GLint size; + GLint degree; + GLint grad_box; + GLint pos_attrib; + GLint linear; + GLint origin; + GLint count; + GLint blend; +}; + +bool link_rounded_grad_border_corner_program(struct rounded_grad_border_corner_shader *shader, int max_len); + struct box_shadow_shader { GLuint program; GLint proj; -- cgit v1.2.3