diff options
Diffstat (limited to 'source/blender/render/extern/include/RE_pipeline.h')
-rw-r--r-- | source/blender/render/extern/include/RE_pipeline.h | 45 |
1 files changed, 22 insertions, 23 deletions
diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h index f9c4e9690a1..802703d476c 100644 --- a/source/blender/render/extern/include/RE_pipeline.h +++ b/source/blender/render/extern/include/RE_pipeline.h @@ -129,6 +129,12 @@ typedef struct RenderResult { /* for render results in Image, verify validity for sequences */ int framenr; + + /* for acquire image, to indicate if it there is a combined layer */ + int have_combined; + + /* render info text */ + char *text; } RenderResult; @@ -146,21 +152,8 @@ typedef struct RenderStats { /* the name is used as identifier, so elsewhere in blender the result can retrieved */ /* calling a new render with same name, frees automatic existing render */ -struct Render *RE_NewRender (const char *name, int slot); -struct Render *RE_GetRender(const char *name, int slot); - -/* render slots. for most cases like baking or preview render this will - always be default, for actual render multiple slots can be used. in - that case 'rendering' is the slot being rendered to, and 'view' is the - slot being viewed. these are always the same except if the currently - viewed slot is changed during render, at the end they will be synced. */ -#define RE_SLOT_RENDERING -2 -#define RE_SLOT_VIEW -1 -#define RE_SLOT_DEFAULT 0 -#define RE_SLOT_MAX 10 - -void RE_SetViewSlot(int slot); -int RE_GetViewSlot(void); +struct Render *RE_NewRender (const char *name); +struct Render *RE_GetRender(const char *name); /* returns 1 while render is working (or renders called from within render) */ int RE_RenderInProgress(struct Render *re); @@ -177,6 +170,7 @@ struct RenderResult *RE_AcquireResultWrite(struct Render *re); void RE_ReleaseResult(struct Render *re); void RE_AcquireResultImage(struct Render *re, struct RenderResult *rr); void RE_ReleaseResultImage(struct Render *re); +void RE_SwapResult(struct Render *re, struct RenderResult **rr); struct RenderStats *RE_GetStats(struct Render *re); void RE_ResultGet32(struct Render *re, unsigned int *rect); struct RenderLayer *RE_GetRenderLayer(struct RenderResult *rr, const char *name); @@ -198,7 +192,7 @@ void RE_SetPixelSize(struct Render *re, float pixsize); void RE_SetView (struct Render *re, float mat[][4]); /* make or free the dbase */ -void RE_Database_FromScene(struct Render *re, struct Scene *scene, int use_camera_view); +void RE_Database_FromScene(struct Render *re, struct Scene *scene, unsigned int lay, int use_camera_view); void RE_Database_Free (struct Render *re); /* project dbase again, when viewplane/perspective changed */ @@ -211,11 +205,14 @@ void RE_set_max_threads(int threads); void RE_init_threadcount(Render *re); /* the main processor, assumes all was set OK! */ -void RE_TileProcessor(struct Render *re, int firsttile, int threaded); +void RE_TileProcessor(struct Render *re); /* only RE_NewRender() needed, main Blender render calls */ -void RE_BlenderFrame(struct Render *re, struct Scene *scene, struct SceneRenderLayer *srl, int frame); -void RE_BlenderAnim(struct Render *re, struct Scene *scene, int sfra, int efra, int tfra, struct ReportList *reports); +void RE_BlenderFrame(struct Render *re, struct Scene *scene, struct SceneRenderLayer *srl, unsigned int lay, int frame); +void RE_BlenderAnim(struct Render *re, struct Scene *scene, unsigned int lay, int sfra, int efra, int tfra, struct ReportList *reports); + +/* main preview render call */ +void RE_PreviewRender(struct Render *re, struct Scene *scene); void RE_ReadRenderResult(struct Scene *scene, struct Scene *scenode); void RE_WriteRenderResult(RenderResult *rr, char *filename, int compress); @@ -233,7 +230,7 @@ void RE_display_init_cb (struct Render *re, void *handle, void (*f)(void *handle void RE_display_clear_cb(struct Render *re, void *handle, void (*f)(void *handle, RenderResult *rr)); void RE_display_draw_cb (struct Render *re, void *handle, void (*f)(void *handle, RenderResult *rr, volatile struct rcti *rect)); void RE_stats_draw_cb (struct Render *re, void *handle, void (*f)(void *handle, RenderStats *rs)); -void RE_timecursor_cb (struct Render *re, void *handle, void (*f)(void *handle, int)); +void RE_progress_cb (struct Render *re, void *handle, void (*f)(void *handle, float)); void RE_test_break_cb (struct Render *re, void *handle, int (*f)(void *handle)); void RE_error_cb (struct Render *re, void *handle, void (*f)(void *handle, char *str)); @@ -251,7 +248,7 @@ void RE_zbuf_accumulate_vecblur(struct NodeBlurData *nbd, int xsize, int ysize, #define RE_BAKE_DISPLACEMENT 5 #define RE_BAKE_SHADOW 6 -void RE_Database_Baking(struct Render *re, struct Scene *scene, int type, struct Object *actob); +void RE_Database_Baking(struct Render *re, struct Scene *scene, unsigned int lay, int type, struct Object *actob); void RE_DataBase_GetView(struct Render *re, float mat[][4]); void RE_GetCameraWindow(struct Render *re, struct Object *camera, int frame, float mat[][4]); @@ -259,8 +256,10 @@ struct Scene *RE_GetScene(struct Render *re); /* External Engine */ -#define RE_INTERNAL 1 -#define RE_GAME 2 +#define RE_INTERNAL 1 +#define RE_GAME 2 +#define RE_DO_PREVIEW 4 +#define RE_DO_ALL 8 extern ListBase R_engines; |