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:
authorTon Roosendaal <ton@blender.org>2006-12-20 20:57:56 +0300
committerTon Roosendaal <ton@blender.org>2006-12-20 20:57:56 +0300
commit253432bfc7c2a1dae224a03fb3055de19743ec67 (patch)
tree2cea30606f9f29be51d5366ddf0d3747b9649b90 /source/blender/render/extern
parent0a0753b409221b66f5003d8c257426043ada227e (diff)
The Big Image refactor!
Please read: http://www.blender3d.org/cms/Imaging.834.0.html Or in short: - adding MultiLayer Image support - recoded entire Image API - better integration of movie/sequence Images Was a whole load of work... went down for a week to do this. So, will need a lot of testing! Will be in irc all evening.
Diffstat (limited to 'source/blender/render/extern')
-rw-r--r--source/blender/render/extern/include/RE_pipeline.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h
index 22b623816ab..72f266630c4 100644
--- a/source/blender/render/extern/include/RE_pipeline.h
+++ b/source/blender/render/extern/include/RE_pipeline.h
@@ -59,11 +59,14 @@ typedef struct Render Render;
typedef struct RenderPass {
struct RenderPass *next, *prev;
int passtype, channels;
+ char name[16]; /* amount defined in openexr_multi.h */
+ char chan_id[8]; /* amount defined in openexr_multi.h */
float *rect;
} RenderPass;
/* a renderlayer is a full image, but with all passes and samples */
/* size of the rects is defined in RenderResult */
+/* after render, the Combined pass is in rectf, for renderlayers read from files it is a real pass */
typedef struct RenderLayer {
struct RenderLayer *next, *prev;
@@ -75,7 +78,7 @@ typedef struct RenderLayer {
struct Material *mat_override;
struct Group *light_override;
- float *rectf; /* 4 float, standard rgba buffer */
+ float *rectf; /* 4 float, standard rgba buffer (read not above!) */
float *acolrect; /* 4 float, optional transparent buffer, needs storage for display updates */
ListBase passes;
@@ -111,6 +114,9 @@ typedef struct RenderResult {
char exrfile[FILE_MAXDIR];
void *exrhandle;
+ /* for render results in Image, verify validity for sequences */
+ int framenr;
+
} RenderResult;
typedef struct RenderStats {
@@ -134,6 +140,7 @@ void RE_FreeRender (struct Render *re);
void RE_FreeAllRender (void);
/* get results and statistics */
+void RE_FreeRenderResult(struct RenderResult *rr);
struct RenderResult *RE_GetResult(struct Render *re);
void RE_GetResultImage(struct Render *re, struct RenderResult *rr);
struct RenderStats *RE_GetStats(struct Render *re);
@@ -173,6 +180,8 @@ void RE_BlenderFrame(struct Render *re, struct Scene *scene, int frame);
void RE_BlenderAnim(struct Render *re, struct Scene *scene, int sfra, int efra);
void RE_ReadRenderResult(struct Scene *scene, struct Scene *scenode);
+void RE_WriteRenderResult(RenderResult *rr, char *filename);
+struct RenderResult *RE_MultilayerConvert(void *exrhandle, int rectx, int recty);
/* ancient stars function... go away! */
void RE_make_stars(struct Render *re, void (*initfunc)(void),