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-10-01 07:35:53 +0400
committerMatt Ebb <matt@mke3.net>2008-10-01 07:35:53 +0400
commit8622cbca359d77eb980250b42d0635c0dddfa48b (patch)
tree8519ed851af8a1a9295405be456a36f5c81e16f8 /source/blender/makesdna/DNA_texture_types.h
parent3c99a0f73539e5a3c8ceeb02e6c5a21ed4985f71 (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/DNA_texture_types.h')
-rw-r--r--source/blender/makesdna/DNA_texture_types.h13
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