Add obs_get_default_rect_effect

This provides a default effect for users of GL_TEXTURE_RECTANGLE/textures
that return true for gs_texture_is_rect
This commit is contained in:
Palana
2014-10-03 15:56:38 +02:00
parent 9c4024f5b3
commit 0f15cc143e
4 changed files with 73 additions and 0 deletions

View File

@@ -224,6 +224,11 @@ static int obs_init_graphics(struct obs_video_info *ovi)
NULL);
bfree(filename);
filename = find_libobs_data_file("default_rect.effect");
video->default_rect_effect = gs_effect_create_from_file(filename,
NULL);
bfree(filename);
filename = find_libobs_data_file("solid.effect");
video->solid_effect = gs_effect_create_from_file(filename,
NULL);
@@ -236,6 +241,8 @@ static int obs_init_graphics(struct obs_video_info *ovi)
if (!video->default_effect)
success = false;
if (!video->default_rect_effect)
success = false;
if (!video->solid_effect)
success = false;
if (!video->conversion_effect)
@@ -356,6 +363,7 @@ static void obs_free_graphics(void)
gs_enter_context(video->graphics);
gs_effect_destroy(video->default_effect);
gs_effect_destroy(video->default_rect_effect);
gs_effect_destroy(video->solid_effect);
gs_effect_destroy(video->conversion_effect);
video->default_effect = NULL;
@@ -1065,6 +1073,12 @@ gs_effect_t *obs_get_default_effect(void)
return obs->video.default_effect;
}
gs_effect_t *obs_get_default_rect_effect(void)
{
if (!obs) return NULL;
return obs->video.default_rect_effect;
}
gs_effect_t *obs_get_solid_effect(void)
{
if (!obs) return NULL;