diff --git a/plugins/mac-capture/data/draw_rect.effect b/plugins/mac-capture/data/draw_rect.effect deleted file mode 100644 index 2816b7dc1..000000000 --- a/plugins/mac-capture/data/draw_rect.effect +++ /dev/null @@ -1,35 +0,0 @@ -uniform float4x4 ViewProj; -uniform texture_rect diffuse; - -sampler_state texSampler { - AddressU = Clamp; - AddressV = Clamp; - Filter = Linear; -}; - -struct VertexInOut { - float4 pos : POSITION; - float2 uv : TEXCOORD0; -}; - -VertexInOut VShader(VertexInOut vert_in) -{ - VertexInOut vert_out; - vert_out.pos = mul(float4(vert_in.pos.xyz, 1.0), ViewProj); - vert_out.uv = vert_in.uv; - return vert_out; -} - -float4 PShader(VertexInOut fragment_in) : TARGET -{ - return diffuse.Sample(texSampler, fragment_in.uv); -} - -technique Default -{ - pass - { - vertex_shader = VShader(vert_in); - pixel_shader = PShader(fragment_in); - } -} diff --git a/plugins/mac-capture/mac-display-capture.m b/plugins/mac-capture/mac-display-capture.m index e8f2a5e5e..4cc0bcc98 100644 --- a/plugins/mac-capture/mac-display-capture.m +++ b/plugins/mac-capture/mac-display-capture.m @@ -104,8 +104,6 @@ static void display_capture_destroy(void *data) if (dc->sampler) gs_samplerstate_destroy(dc->sampler); - if (dc->effect) - gs_effect_destroy(dc->effect); if (dc->vertbuf) gs_vertexbuffer_destroy(dc->vertbuf); @@ -261,6 +259,10 @@ static void *display_capture_create(obs_data_t *settings, dc->source = source; + dc->effect = obs_get_default_rect_effect(); + if (!dc->effect) + goto fail; + obs_enter_graphics(); struct gs_sampler_info info = { @@ -274,12 +276,6 @@ static void *display_capture_create(obs_data_t *settings, if (!dc->sampler) goto fail; - char *effect_file = obs_module_file("draw_rect.effect"); - dc->effect = gs_effect_create_from_file(effect_file, NULL); - bfree(effect_file); - if (!dc->effect) - goto fail; - if (!init_vertbuf(dc)) goto fail; @@ -408,8 +404,8 @@ static void display_capture_video_render(void *data, gs_effect_t *effect) gs_load_vertexbuffer(dc->vertbuf); gs_load_indexbuffer(NULL); gs_load_samplerstate(dc->sampler, 0); - gs_technique_t *tech = gs_effect_get_technique(dc->effect, "Default"); - gs_effect_set_texture(gs_effect_get_param_by_idx(dc->effect, 1), + gs_technique_t *tech = gs_effect_get_technique(dc->effect, "Draw"); + gs_effect_set_texture(gs_effect_get_param_by_name(dc->effect, "image"), dc->tex); gs_technique_begin(tech); gs_technique_begin_pass(tech, 0);