From ad013f4d84e80c4ad43a4eb678a18c70325119c9 Mon Sep 17 00:00:00 2001 From: jpark37 Date: Thu, 21 Jan 2021 06:00:09 -0800 Subject: [PATCH] obs-transitions: Linear SRGB, luma wipe --- plugins/obs-transitions/transition-luma-wipe.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/plugins/obs-transitions/transition-luma-wipe.c b/plugins/obs-transitions/transition-luma-wipe.c index 9af247922..1a1016e08 100644 --- a/plugins/obs-transitions/transition-luma-wipe.c +++ b/plugins/obs-transitions/transition-luma-wipe.c @@ -165,8 +165,11 @@ static void luma_wipe_callback(void *data, gs_texture_t *a, gs_texture_t *b, { struct luma_wipe_info *lwipe = data; - gs_effect_set_texture(lwipe->ep_a_tex, a); - gs_effect_set_texture(lwipe->ep_b_tex, b); + const bool previous = gs_framebuffer_srgb_enabled(); + gs_enable_framebuffer_srgb(true); + + gs_effect_set_texture_srgb(lwipe->ep_a_tex, a); + gs_effect_set_texture_srgb(lwipe->ep_b_tex, b); gs_effect_set_texture(lwipe->ep_l_tex, lwipe->luma_image.texture); gs_effect_set_float(lwipe->ep_progress, t); @@ -175,6 +178,8 @@ static void luma_wipe_callback(void *data, gs_texture_t *a, gs_texture_t *b, while (gs_effect_loop(lwipe->effect, "LumaWipe")) gs_draw_sprite(NULL, 0, cx, cy); + + gs_enable_framebuffer_srgb(previous); } void luma_wipe_video_render(void *data, gs_effect_t *effect)