diff options
author | Lukas Stockner <lukas.stockner@freenet.de> | 2019-01-18 03:47:32 +0300 |
---|---|---|
committer | Lukas Stockner <lukas.stockner@freenet.de> | 2019-01-18 03:47:32 +0300 |
commit | 031a9d6424815ce73897e25800356c9888b1cde2 (patch) | |
tree | a6c194a7fc58e412f434673363eb0fa6892e31af /source/blender/render/extern/include/RE_engine.h | |
parent | 2757469824bbe98d943b42f57ff23782b97a3abf (diff) | |
parent | c9eef24903479a70783efb2e00766d0eeec43823 (diff) |
Merge branch 'blender2.7'
Diffstat (limited to 'source/blender/render/extern/include/RE_engine.h')
-rw-r--r-- | source/blender/render/extern/include/RE_engine.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/render/extern/include/RE_engine.h b/source/blender/render/extern/include/RE_engine.h index faa4c8b3184..8a6282aee01 100644 --- a/source/blender/render/extern/include/RE_engine.h +++ b/source/blender/render/extern/include/RE_engine.h @@ -37,6 +37,8 @@ #include "RNA_types.h" #include "RE_bake.h" +#include "BLI_threads.h" + struct bNode; struct bNodeTree; struct BakePixel; @@ -111,6 +113,9 @@ typedef struct RenderEngineType { ExtensionRNA ext; } RenderEngineType; +typedef void (*update_render_passes_cb_t)(struct RenderEngine *engine, struct Scene *scene, struct ViewLayer *view_layer, + const char *name, int channels, const char *chanid, int type); + typedef struct RenderEngine { RenderEngineType *type; void *py_instance; @@ -137,6 +142,10 @@ typedef struct RenderEngine { int update_flag; int job_update_flag; + /* callback for render pass query */ + ThreadMutex update_render_passes_mutex; + update_render_passes_cb_t update_render_passes_cb; + rctf last_viewplane; rcti last_disprect; float last_viewmat[4][4]; @@ -175,6 +184,8 @@ bool RE_engine_is_external(struct Render *re); void RE_engine_frame_set(struct RenderEngine *engine, int frame, float subframe); +void RE_engine_update_render_passes(struct RenderEngine *engine, struct Scene *scene, struct ViewLayer *view_layer, + update_render_passes_cb_t callback); void RE_engine_register_pass(struct RenderEngine *engine, struct Scene *scene, struct ViewLayer *view_layer, const char *name, int channels, const char *chanid, int type); |