Second attempt at committing the different render slot implementation. This
has a fix that hopefully solves the problem on mac/win. Also fixes #21322, render slots not working well with FSA.
This commit is contained in:
@@ -129,6 +129,9 @@ typedef struct RenderResult {
|
||||
|
||||
/* for render results in Image, verify validity for sequences */
|
||||
int framenr;
|
||||
|
||||
/* render info text */
|
||||
char *text;
|
||||
|
||||
} RenderResult;
|
||||
|
||||
@@ -146,21 +149,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 +167,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);
|
||||
|
||||
Reference in New Issue
Block a user