瀏覽代碼

obs-filters: Fix blend state for Scale filter

Was incorrectly using straight alpha blend instead of premultiplied.
jpark37 4 年之前
父節點
當前提交
5fcffb066e
共有 1 個文件被更改,包括 5 次插入0 次删除
  1. 5 0
      plugins/obs-filters/scale-filter.c

+ 5 - 0
plugins/obs-filters/scale-filter.c

@@ -297,10 +297,15 @@ static void scale_filter_render(void *data, gs_effect_t *effect)
 		gs_effect_set_next_sampler(filter->image_param,
 					   filter->point_sampler);
 
+	gs_blend_state_push();
+	gs_blend_function(GS_BLEND_ONE, GS_BLEND_INVSRCALPHA);
+
 	obs_source_process_filter_tech_end(filter->context, filter->effect,
 					   filter->cx_out, filter->cy_out,
 					   technique);
 
+	gs_blend_state_pop();
+
 	UNUSED_PARAMETER(effect);
 }