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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2008-01-24 16:11:15 +0300
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2008-01-24 16:11:15 +0300
commit02145966a849c708f3bf89ca1276b673210d1e7c (patch)
tree23af27a637c5dac81de734e06b2ae7e3cb949d66 /source/blender/render/intern/include/render_types.h
parent18ab78c867216b877cb4423e8a2c82591d96fd8b (diff)
Fix for strand render + simplification + vector blur. With the number
of strands changing between frames, vector blur couldn't work. Now speed vectors are interpolated from the surface. This also means child particles don't have to be computed in the previous and next frames, so saves time too.
Diffstat (limited to 'source/blender/render/intern/include/render_types.h')
-rw-r--r--source/blender/render/intern/include/render_types.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/source/blender/render/intern/include/render_types.h b/source/blender/render/intern/include/render_types.h
index 46b5face22a..16c46ec550f 100644
--- a/source/blender/render/intern/include/render_types.h
+++ b/source/blender/render/intern/include/render_types.h
@@ -161,7 +161,7 @@ struct Render
/* occlusion tree */
void *occlusiontree;
- ListBase occlusionmesh;
+ ListBase strandsurface;
/* use this instead of R.r.cfra */
float cfra;
@@ -337,6 +337,18 @@ typedef struct StrandVert {
float strandco;
} StrandVert;
+typedef struct StrandSurface {
+ struct StrandSurface *next, *prev;
+ ObjectRen obr;
+ int (*face)[4];
+ float (*co)[3];
+ /* for occlusion caching */
+ float (*col)[3]; /* for occlusion */
+ /* for speedvectors */
+ float (*prevco)[3], (*nextco)[3];
+ int totvert, totface;
+} StrandSurface;
+
typedef struct StrandBuffer {
struct StrandBuffer *next, *prev;
struct StrandVert *vert;
@@ -344,7 +356,7 @@ typedef struct StrandBuffer {
struct ObjectRen *obr;
struct Material *ma;
- void *occlusionmesh;
+ struct StrandSurface *surface;
unsigned int lay;
int overrideuv;
int flag, maxdepth;