提交 33ace6b8 编写于 作者: J jpark37

obs-transitions: Linear SRGB, slide

上级 ad013f4d
......@@ -93,14 +93,26 @@ static void slide_callback(void *data, gs_texture_t *a, gs_texture_t *b,
vec2_mulf(&tex_a_dir, &tex_a_dir, t);
vec2_mulf(&tex_b_dir, &tex_b_dir, 1.0f - t);
gs_effect_set_texture(slide->a_param, a);
gs_effect_set_texture(slide->b_param, b);
const bool linear_srgb = gs_get_linear_srgb();
const bool previous = gs_framebuffer_srgb_enabled();
gs_enable_framebuffer_srgb(linear_srgb);
if (linear_srgb) {
gs_effect_set_texture_srgb(slide->a_param, a);
gs_effect_set_texture_srgb(slide->b_param, b);
} else {
gs_effect_set_texture(slide->a_param, a);
gs_effect_set_texture(slide->b_param, b);
}
gs_effect_set_vec2(slide->tex_a_dir_param, &tex_a_dir);
gs_effect_set_vec2(slide->tex_b_dir_param, &tex_b_dir);
while (gs_effect_loop(slide->effect, "Slide"))
gs_draw_sprite(NULL, 0, cx, cy);
gs_enable_framebuffer_srgb(previous);
}
void slide_video_render(void *data, gs_effect_t *effect)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册