From 5a07256d397b2c69fa45fa451d30bc50edc65f91 Mon Sep 17 00:00:00 2001 From: Matthew Turk Date: Sun, 30 Jun 2024 13:11:43 -0500 Subject: [PATCH] Use special purpose shader for borders --- yt_idv/scene_components/base_component.py | 2 +- yt_idv/shaders/display_border.frag.glsl | 13 +++++++++++++ yt_idv/shaders/passthrough.frag.glsl | 4 ---- 3 files changed, 14 insertions(+), 5 deletions(-) create mode 100644 yt_idv/shaders/display_border.frag.glsl diff --git a/yt_idv/scene_components/base_component.py b/yt_idv/scene_components/base_component.py index e968d37d..2422003c 100644 --- a/yt_idv/scene_components/base_component.py +++ b/yt_idv/scene_components/base_component.py @@ -228,7 +228,7 @@ def _final_pass_vertex_default(self): @traitlets.default("final_pass_fragment") def _final_pass_fragment_default(self): - return "passthrough" + return "display_border" @traitlets.default("base_quad") def _default_base_quad(self): diff --git a/yt_idv/shaders/display_border.frag.glsl b/yt_idv/shaders/display_border.frag.glsl new file mode 100644 index 00000000..e5c963b8 --- /dev/null +++ b/yt_idv/shaders/display_border.frag.glsl @@ -0,0 +1,13 @@ +in vec2 UV; + +out vec4 color; + +void main(){ + color = texture(fb_tex, UV); + color.a = 1.0; + vec2 d = abs(UV - vec2(0.5)); + if(0.5 - max(d.x, d.y) < draw_boundary) { + color = vec4(1.0, 1.0, 1.0, 0.5); + } + gl_FragDepth = texture(db_tex, UV).r; +} diff --git a/yt_idv/shaders/passthrough.frag.glsl b/yt_idv/shaders/passthrough.frag.glsl index e5c963b8..63b0d77d 100644 --- a/yt_idv/shaders/passthrough.frag.glsl +++ b/yt_idv/shaders/passthrough.frag.glsl @@ -5,9 +5,5 @@ out vec4 color; void main(){ color = texture(fb_tex, UV); color.a = 1.0; - vec2 d = abs(UV - vec2(0.5)); - if(0.5 - max(d.x, d.y) < draw_boundary) { - color = vec4(1.0, 1.0, 1.0, 0.5); - } gl_FragDepth = texture(db_tex, UV).r; }