New upstream version 0.15.4+dfsg1
This commit is contained in:
parent
55d5047af0
commit
67704ac59c
359 changed files with 8423 additions and 1050 deletions
|
|
@ -7,8 +7,10 @@ struct scroll_filter_data {
|
|||
gs_effect_t *effect;
|
||||
gs_eparam_t *param_add;
|
||||
gs_eparam_t *param_mul;
|
||||
gs_eparam_t *param_image;
|
||||
|
||||
struct vec2 scroll_speed;
|
||||
gs_samplerstate_t *sampler;
|
||||
bool limit_cx;
|
||||
bool limit_cy;
|
||||
uint32_t cx;
|
||||
|
|
@ -29,10 +31,17 @@ static void *scroll_filter_create(obs_data_t *settings, obs_source_t *context)
|
|||
struct scroll_filter_data *filter = bzalloc(sizeof(*filter));
|
||||
char *effect_path = obs_module_file("crop_filter.effect");
|
||||
|
||||
struct gs_sampler_info sampler_info = {
|
||||
.filter = GS_FILTER_LINEAR,
|
||||
.address_u = GS_ADDRESS_WRAP,
|
||||
.address_v = GS_ADDRESS_WRAP
|
||||
};
|
||||
|
||||
filter->context = context;
|
||||
|
||||
obs_enter_graphics();
|
||||
filter->effect = gs_effect_create_from_file(effect_path, NULL);
|
||||
filter->sampler = gs_samplerstate_create(&sampler_info);
|
||||
obs_leave_graphics();
|
||||
|
||||
bfree(effect_path);
|
||||
|
|
@ -46,6 +55,8 @@ static void *scroll_filter_create(obs_data_t *settings, obs_source_t *context)
|
|||
"add_val");
|
||||
filter->param_mul = gs_effect_get_param_by_name(filter->effect,
|
||||
"mul_val");
|
||||
filter->param_image = gs_effect_get_param_by_name(filter->effect,
|
||||
"image");
|
||||
|
||||
obs_source_update(context, settings);
|
||||
return filter;
|
||||
|
|
@ -57,6 +68,7 @@ static void scroll_filter_destroy(void *data)
|
|||
|
||||
obs_enter_graphics();
|
||||
gs_effect_destroy(filter->effect);
|
||||
gs_samplerstate_destroy(filter->sampler);
|
||||
obs_leave_graphics();
|
||||
|
||||
bfree(filter);
|
||||
|
|
@ -187,6 +199,8 @@ static void scroll_filter_render(void *data, gs_effect_t *effect)
|
|||
gs_effect_set_vec2(filter->param_add, &filter->offset);
|
||||
gs_effect_set_vec2(filter->param_mul, &mul_val);
|
||||
|
||||
gs_effect_set_next_sampler(filter->param_image, filter->sampler);
|
||||
|
||||
obs_source_process_filter_end(filter->context, filter->effect, cx, cy);
|
||||
|
||||
UNUSED_PARAMETER(effect);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue