diff options
author | Ton Roosendaal <ton@blender.org> | 2006-02-01 00:49:05 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2006-02-01 00:49:05 +0300 |
commit | 5e3170fafd0a64d562c5c9e94af42136e8e98af6 (patch) | |
tree | ec721bb3fbeeb9c30dd377b8098f744146ddc18c /source/blender/render/intern/include/renderdatabase.h | |
parent | 397ee6768dca9e4696c608c7731f050ce4440802 (diff) |
Three features;
- Live scanline updates while rendering
Using a timer system, each second now the tiles that are being processed
are checked if they could use display.
To make this work pretty, I had to use the threaded 'tile processor' for
a single thread too, but that's now proven to be stable.
Also note that these updates draw per layer, including ztransp progress
separately from solid render.
- Recode of ztransp OSA
Until now (since blender 1.0) the ztransp part was fully rendered and
added on top of the solid part with alpha-over. This adding was done before
the solid part applied sub-pixel sample filtering, causing the ztransp
layer to be always too blurry.
Now the ztransp layer uses same sub=pixel filter, resulting in the same
AA level (and filter results) as the solid part. Quite noticable with hair
renders.
- Vector buffer support & preliminary vector-blur Node
Using the "Render Layer" panel "Vector" pass button, the motion vectors
per pixel are calculated and stored. Accessible via the Compositor.
The vector-blur node is horrible btw! It just uses the length of the
vector to apply a filter like with current (z)blur. I'm committing it anyway,
I'll experiment with it further, and who knows some surprise code shows up!
Diffstat (limited to 'source/blender/render/intern/include/renderdatabase.h')
-rw-r--r-- | source/blender/render/intern/include/renderdatabase.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/source/blender/render/intern/include/renderdatabase.h b/source/blender/render/intern/include/renderdatabase.h index 6996bca7a5c..a820800fae1 100644 --- a/source/blender/render/intern/include/renderdatabase.h +++ b/source/blender/render/intern/include/renderdatabase.h @@ -36,8 +36,21 @@ struct HaloRen; struct Material; struct Render; +/* render allocates totvert/256 of these nodes, for lookup and quick alloc */ +typedef struct VertTableNode { + struct VertRen *vert; + float *rad; + float *sticky; + float *strand; + float *tangent; + float *stress; + float *winspeed; +} VertTableNode; + /* renderdatabase.c */ void free_renderdata_tables(struct Render *re); +void free_renderdata_vertnodes(struct VertTableNode *vertnodes); + void set_normalflags(Render *re); void project_renderdata(struct Render *re, void (*projectfunc)(float *, float mat[][4], float *), int do_pano, int part); @@ -54,6 +67,7 @@ float *RE_vertren_get_stress(struct Render *re, struct VertRen *ver, int verify) float *RE_vertren_get_rad(struct Render *re, struct VertRen *ver, int verify); float *RE_vertren_get_strand(struct Render *re, struct VertRen *ver, int verify); float *RE_vertren_get_tangent(struct Render *re, struct VertRen *ver, int verify); +float *RE_vertren_get_winspeed(struct Render *re, struct VertRen *ver, int verify); /* haloren->type: flags */ #define HA_ONLYSKY 1 @@ -61,8 +75,9 @@ float *RE_vertren_get_tangent(struct Render *re, struct VertRen *ver, int verify #define HA_XALPHA 4 #define HA_FLARECIRC 8 - +/* convertblender.c */ void init_render_world(Render *re); +void RE_Database_FromScene_Vectors(Render *re, struct Scene *sce); #endif /* RENDERDATABASE_H */ |