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:
authorMatt Ebb <matt@mke3.net>2008-09-26 05:54:31 +0400
committerMatt Ebb <matt@mke3.net>2008-09-26 05:54:31 +0400
commit78c50f7af1d694252984885e0eac87682647e2d2 (patch)
tree9b2b322f15e33cd3716558e1a085bb8dd2dab627 /source/blender/render/intern/include/render_types.h
parent707f2e300cb44891210bf0168489a0cfb36b3c69 (diff)
Wheee!
Initial commit for supporting rendering particles directly as volume density. It works by looking up how many particles are within a specified radius of the currently shaded point and using that to calculate density (which is used just as any other measure of density would be). http://mke3.net/blender/devel/rendering/volumetrics/smoke_test01.mov http://mke3.net/blender/devel/rendering/volumetrics/smoke_test01.blend Right now it's an early implementation, just to see that it can work - it may end up changing quite a bit. Currently, it's just a single switch on the volume material - it looks up all particles in the scene for density at the current shaded point in world space (so the volume region must enclose the particles in order to render them. This will probably change - one idea I have is to make the particle density estimation a procedural texture with options for: * the object and particle system to use * the origin of the co-ordinate system, i.e. object center, world space, etc. This would allow you in a sense, to instance particle systems for render - you only need to bake one particle system, but you can render it anywhere. Anyway, plenty of work to do here, firstly on getting a nice density evaluation with falloff etc...
Diffstat (limited to 'source/blender/render/intern/include/render_types.h')
-rw-r--r--source/blender/render/intern/include/render_types.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/source/blender/render/intern/include/render_types.h b/source/blender/render/intern/include/render_types.h
index 1768b052b54..2db70c460f9 100644
--- a/source/blender/render/intern/include/render_types.h
+++ b/source/blender/render/intern/include/render_types.h
@@ -198,6 +198,8 @@ struct Render
ListBase *sss_points;
struct Material *sss_mat;
+ struct KDTree *particles_tree;
+
ListBase customdata_names;
struct Object *excludeob;
@@ -347,6 +349,16 @@ typedef struct HaloRen
/* ------------------------------------------------------------------------- */
+typedef struct ParticleRen
+{
+ struct ParticleRen *next, *prev;
+ float co[3]; // location
+ // float col[3]; // colour
+ // float vec[3]; // direction
+} ParticleRen;
+
+/* ------------------------------------------------------------------------- */
+
typedef struct StrandVert {
float co[3];
float strandco;