Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Stockner <lukas.stockner@freenet.de>2019-01-18 03:47:32 +0300
committerLukas Stockner <lukas.stockner@freenet.de>2019-01-18 03:47:32 +0300
commit031a9d6424815ce73897e25800356c9888b1cde2 (patch)
treea6c194a7fc58e412f434673363eb0fa6892e31af /source/blender/render/extern/include/RE_engine.h
parent2757469824bbe98d943b42f57ff23782b97a3abf (diff)
parentc9eef24903479a70783efb2e00766d0eeec43823 (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.h11
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);