diff --git a/libobs/obs-source.c b/libobs/obs-source.c index 60e621b99..f535a23f9 100644 --- a/libobs/obs-source.c +++ b/libobs/obs-source.c @@ -2058,6 +2058,9 @@ void obs_source_process_filter_begin(obs_source_t *filter, filter->filter_texrender = gs_texrender_create(format, GS_ZS_NONE); + gs_blend_state_push(); + gs_blend_function(GS_BLEND_ONE, GS_BLEND_ZERO); + if (gs_texrender_begin(filter->filter_texrender, cx, cy)) { bool custom_draw = (parent_flags & OBS_SOURCE_CUSTOM_DRAW) != 0; bool async = (parent_flags & OBS_SOURCE_ASYNC) != 0; @@ -2074,6 +2077,8 @@ void obs_source_process_filter_begin(obs_source_t *filter, gs_texrender_end(filter->filter_texrender); } + + gs_blend_state_pop(); } void obs_source_process_filter_end(obs_source_t *filter, gs_effect_t *effect,