diff options
author | Ton Roosendaal <ton@blender.org> | 2006-12-20 20:57:56 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2006-12-20 20:57:56 +0300 |
commit | 253432bfc7c2a1dae224a03fb3055de19743ec67 (patch) | |
tree | 2cea30606f9f29be51d5366ddf0d3747b9649b90 /source/blender/render/extern | |
parent | 0a0753b409221b66f5003d8c257426043ada227e (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.h | 11 |
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), |