Skip to content

Commit 254a97c

Browse files
committed
Changed rendering to use a new shader included in OBS Studio 0.14.0
to convert pre-multiplied alpha to straight alpha
1 parent 3713e27 commit 254a97c

File tree

2 files changed

+5
-10
lines changed

2 files changed

+5
-10
lines changed

obs-browser/browser-source-base.cpp

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,10 @@ void BrowserSource::Impl::RenderCurrentTexture(gs_effect_t *effect)
6969

7070
if (activeTexture != nullptr) {
7171
gs_reset_blend_state();
72-
gs_blend_function(GS_BLEND_DSTALPHA, GS_BLEND_INVSRCALPHA);
73-
gs_effect_set_texture(
74-
gs_effect_get_param_by_name(effect, "image"),
75-
activeTexture);
76-
gs_draw_sprite(activeTexture, 0, parent->GetWidth(),
77-
parent->GetHeight());
72+
73+
while (gs_effect_loop(obs_get_base_effect(OBS_EFFECT_PREMULTIPLIED_ALPHA), "Draw"))
74+
obs_source_draw(activeTexture, 0, 0, 0, 0, false);
75+
7876
gs_reset_blend_state();
7977
}
8078

obs-browser/main-source.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -211,10 +211,7 @@ create_browser_source_info()
211211
browser_source_info.id = "browser_source";
212212
browser_source_info.type = OBS_SOURCE_TYPE_INPUT;
213213
browser_source_info.output_flags = OBS_SOURCE_VIDEO |
214-
OBS_SOURCE_INTERACTION | OBS_SOURCE_DO_NOT_DUPLICATE;
215-
#ifdef __APPLE__
216-
browser_source_info.output_flags |= OBS_SOURCE_CUSTOM_DRAW;
217-
#endif
214+
OBS_SOURCE_INTERACTION | OBS_SOURCE_DO_NOT_DUPLICATE | OBS_SOURCE_CUSTOM_DRAW;
218215
// interaction
219216
browser_source_info.mouse_click = browser_source_mouse_click;
220217
browser_source_info.mouse_move = browser_source_mouse_move;

0 commit comments

Comments
 (0)