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-02-01 00:49:05 +0300
committerTon Roosendaal <ton@blender.org>2006-02-01 00:49:05 +0300
commit5e3170fafd0a64d562c5c9e94af42136e8e98af6 (patch)
treeec721bb3fbeeb9c30dd377b8098f744146ddc18c /source/blender/render/extern
parent397ee6768dca9e4696c608c7731f050ce4440802 (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/extern')
-rw-r--r--source/blender/render/extern/include/RE_pipeline.h10
-rw-r--r--source/blender/render/extern/include/RE_shader_ext.h6
2 files changed, 12 insertions, 4 deletions
diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h
index d34fc968e77..a9b75184e36 100644
--- a/source/blender/render/extern/include/RE_pipeline.h
+++ b/source/blender/render/extern/include/RE_pipeline.h
@@ -65,8 +65,9 @@ typedef struct RenderLayer {
unsigned int lay;
int layflag, passflag;
- float *rectf; /* standard rgba buffer */
- float *rectz; /* standard camera coordinate zbuffer */
+ float *rectf; /* 4 float, standard rgba buffer */
+ float *rectz; /* 1 float, standard camera coordinate zbuffer */
+ float *rectvec; /* 2 float, screen aligned speed vectors */
ListBase passes;
@@ -90,7 +91,10 @@ typedef struct RenderResult {
/* the main buffers */
ListBase layers;
- int actlay; /* copy of renderdata..., so display callbacks can find out */
+
+ /* allowing live updates: */
+ rcti renrect;
+ RenderLayer *renlay;
/* optional saved endresult on disk */
char exrfile[FILE_MAXDIR];
diff --git a/source/blender/render/extern/include/RE_shader_ext.h b/source/blender/render/extern/include/RE_shader_ext.h
index 3524523f9bc..b8bd46d784e 100644
--- a/source/blender/render/extern/include/RE_shader_ext.h
+++ b/source/blender/render/extern/include/RE_shader_ext.h
@@ -45,9 +45,12 @@ typedef struct TexResult {
/* localized shade result data */
typedef struct ShadeResult
{
+ float combined[4];
float diff[3];
float spec[3];
float alpha;
+ float nor[3];
+ float winspeed[2];
} ShadeResult;
@@ -76,7 +79,8 @@ typedef struct ShadeInput
/* texture coordinates */
float lo[3], gl[3], uv[3], ref[3], orn[3], winco[3], sticky[3], vcol[3], rad[3];
- float vn[3], vno[3], facenor[3], view[3], refcol[4], displace[3], strand, tang[3], stress;
+ float vn[3], vno[3], facenor[3], view[3], refcol[4], displace[3];
+ float strand, tang[3], stress, winspeed[3];
/* dx/dy OSA coordinates */
float dxco[3], dyco[3];