diff options
author | Matt Ebb <matt@mke3.net> | 2008-10-01 07:35:53 +0400 |
---|---|---|
committer | Matt Ebb <matt@mke3.net> | 2008-10-01 07:35:53 +0400 |
commit | 8622cbca359d77eb980250b42d0635c0dddfa48b (patch) | |
tree | 8519ed851af8a1a9295405be456a36f5c81e16f8 /source/blender/makesdna | |
parent | 3c99a0f73539e5a3c8ceeb02e6c5a21ed4985f71 (diff) |
* Point Density texture
Replaced the previous KD-tree (for caching points) with a
BVH-tree (thanks to Andre 'jaguarandi' Pinto for help here!).
The bvh is quite a bit faster and doesn't suffer some of the
artifacts that were apparent with the kd-tree.
I've also added a choice of falloff types: Standard, Smooth, and
Sharp. Standard gives a harder edge, easier to see individual
particles, and when used with a larger radius, Smooth and Sharp
falloffs make a much cloudier appearance possible. See the image
below (note the settings and render times too)
http://mke3.net/blender/devel/rendering/volumetrics/pointdensity_bvh.jpg
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_texture_types.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/source/blender/makesdna/DNA_texture_types.h b/source/blender/makesdna/DNA_texture_types.h index 52055f24f82..d23672f9284 100644 --- a/source/blender/makesdna/DNA_texture_types.h +++ b/source/blender/makesdna/DNA_texture_types.h @@ -130,7 +130,7 @@ typedef struct EnvMap { typedef struct PointDensity { short flag; - short nearest; + short falloff_type; float radius; short source; @@ -144,7 +144,10 @@ typedef struct PointDensity { short pdpad2; - void *point_tree; /* the kd-tree containing points */ + void *point_tree; /* the acceleration tree containing points */ + //void *point_data; /* dynamically allocated extra for extra information, like particle age */ + //int pdpad3; + } PointDensity; typedef struct Tex { @@ -415,10 +418,16 @@ typedef struct TexMapping { #define TEX_PD_OBJECT 1 #define TEX_PD_FILE 2 +/* falloff_type */ +#define TEX_PD_FALLOFF_STD 0 +#define TEX_PD_FALLOFF_SMOOTH 1 +#define TEX_PD_FALLOFF_SHARP 2 + /* psys_cache_space */ #define TEX_PD_OBJECTLOC 0 #define TEX_PD_OBJECTSPACE 1 #define TEX_PD_WORLDSPACE 2 + #endif |