Cycles: svn merge -r41225:41232 ^/trunk/blender
[blender.git] / source / blender / render / extern / include / RE_engine.h
index 1326ed495ec248a03f0f868e57197678567081ec..bd93f1e63aeac40897c9cda5ba8afc0c967433d6 100644 (file)
@@ -50,6 +50,7 @@ struct Scene;
 #define RE_GAME                                        2
 #define RE_USE_PREVIEW                 4
 #define RE_USE_POSTPROCESS             8
+#define RE_USE_SHADING_NODES   16
 
 extern ListBase R_engines;
 
@@ -61,7 +62,14 @@ typedef struct RenderEngineType {
        char name[64];
        int flag;
 
-       void (*render)(struct RenderEngine *engine, struct Scene *scene);
+       void (*update)(struct RenderEngine *engine, struct Main *bmain, struct Scene *scene);
+       void (*render)(struct RenderEngine *engine);
+
+       void (*preview_update)(struct RenderEngine *engine, const struct bContext *context, struct ID *id);
+       void (*preview_render)(struct RenderEngine *engine);
+
+       void (*view_update)(struct RenderEngine *engine, const struct bContext *context);
+       void (*view_draw)(struct RenderEngine *engine, const struct bContext *context);
 
        /* RNA integration */
        ExtensionRNA ext;
@@ -69,9 +77,14 @@ typedef struct RenderEngineType {
 
 typedef struct RenderEngine {
        RenderEngineType *type;
+       void *py_instance;
 
        struct Render *re;
        ListBase fullresult;
+       char *text;
+
+       int do_draw;
+       int do_update;
 } RenderEngine;
 
 RenderEngine *RE_engine_create(RenderEngineType *type);