diff --git a/libobs/graphics/effect.c b/libobs/graphics/effect.c index b0be870ed..48898ad0c 100644 --- a/libobs/graphics/effect.c +++ b/libobs/graphics/effect.c @@ -43,6 +43,13 @@ gs_technique_t *gs_effect_get_technique(const gs_effect_t *effect, return NULL; } +gs_technique_t *gs_effect_get_current_technique(const gs_effect_t *effect) +{ + if (!effect) return NULL; + + return effect->cur_technique; +} + size_t gs_technique_begin(gs_technique_t *tech) { if (!tech) return 0; diff --git a/libobs/graphics/graphics.h b/libobs/graphics/graphics.h index 3f1a6766f..4babf97c4 100644 --- a/libobs/graphics/graphics.h +++ b/libobs/graphics/graphics.h @@ -342,6 +342,9 @@ EXPORT void gs_effect_destroy(gs_effect_t *effect); EXPORT gs_technique_t *gs_effect_get_technique(const gs_effect_t *effect, const char *name); +EXPORT gs_technique_t *gs_effect_get_current_technique( + const gs_effect_t *effect); + EXPORT size_t gs_technique_begin(gs_technique_t *technique); EXPORT void gs_technique_end(gs_technique_t *technique); EXPORT bool gs_technique_begin_pass(gs_technique_t *technique, size_t pass);