mac-capture: Use obs_get_default_rect_effect
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
@@ -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);
|
||||
|
Reference in New Issue
Block a user