diff options
author | Ton Roosendaal <ton@blender.org> | 2008-01-28 19:33:59 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2008-01-28 19:33:59 +0300 |
commit | 703f248ab4bd918ba6a202a20b73dc6293851759 (patch) | |
tree | b25a9483434d28433780fd585ed5f29b3d3bcd06 /source/blender/render/extern | |
parent | b9842ec247e5ae9458f59d24e98973ca17949ae7 (diff) |
New rendering option: FSA!
This completes the pipeline make-over, as started in 2006. With this
option, during rendering, each sample for every layer and pass is being
saved on disk (looks like non-antialiased images). Then the composite
and color correction happens, then a clip to 0-1 range, and only in end
all samples get combined - using sampling filters such as gauss/mitch/catmul.
This results in artefact-free antialiased images. Even Z-combine or
ID masks now work perfect for it!
This is an unfinished commit btw; Brecht will finish this for strands.
Also Halo doesnt work yet.
To activate FSA: press "Save Buffers" and the new button next to it. :)
Diffstat (limited to 'source/blender/render/extern')
-rw-r--r-- | source/blender/render/extern/include/RE_pipeline.h | 5 | ||||
-rw-r--r-- | source/blender/render/extern/include/RE_shader_ext.h | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h index de12f75300e..ddfe2c544ab 100644 --- a/source/blender/render/extern/include/RE_pipeline.h +++ b/source/blender/render/extern/include/RE_pipeline.h @@ -88,10 +88,11 @@ typedef struct RenderLayer { } RenderLayer; typedef struct RenderResult { + struct RenderResult *next, *prev; /* target image size */ int rectx, recty; - short crop, pad; + short crop, sample_nr; /* optional, 32 bits version of picture, used for ogl render and image curves */ int *rect32; @@ -113,7 +114,6 @@ typedef struct RenderResult { volatile RenderLayer *renlay; /* optional saved endresult on disk */ - char exrfile[FILE_MAXDIR]; void *exrhandle; /* for render results in Image, verify validity for sequences */ @@ -121,6 +121,7 @@ typedef struct RenderResult { } RenderResult; + typedef struct RenderStats { int totface, totvert, totstrand, tothalo, totlamp, totpart; short curfield, curblur, curpart, partsdone, convertdone; diff --git a/source/blender/render/extern/include/RE_shader_ext.h b/source/blender/render/extern/include/RE_shader_ext.h index 8b5880ff507..e082225c5ea 100644 --- a/source/blender/render/extern/include/RE_shader_ext.h +++ b/source/blender/render/extern/include/RE_shader_ext.h @@ -157,6 +157,7 @@ typedef struct ShadeInput int xs, ys; /* pixel to be rendered */ int mask; /* subsample mask */ + int samplenr; /* sample counter, to detect if we should do shadow again */ int depth; /* 1 or larger on raytrace shading */ @@ -169,6 +170,7 @@ typedef struct ShadeInput /* from initialize, part or renderlayer */ short do_preview; /* for nodes, in previewrender */ short thread, sample; /* sample: ShadeSample array index */ + unsigned int lay; int layflag, passflag, combinedflag; struct Group *light_override; |