Ver código fonte

obs-filters: Fix blend state for Scale filter

Was incorrectly using straight alpha blend instead of premultiplied.
jpark37 4 anos atrás
pai
commit
5fcffb066e
1 arquivos alterados com 5 adições e 0 exclusões
  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);
 }