diff options
author | Andre Susano Pinto <andresusanopinto@gmail.com> | 2009-07-10 20:42:51 +0400 |
---|---|---|
committer | Andre Susano Pinto <andresusanopinto@gmail.com> | 2009-07-10 20:42:51 +0400 |
commit | 81c356151345e99d7ae0968be1f6242cd3c6fce1 (patch) | |
tree | cb50c880954dfef1804ca53911e0235e31bfda9c /source/blender/render/intern/include | |
parent | c43fe4cca969e4f4755b041d3e1bc6aee322517f (diff) |
*rtbuild now stores BB
*fix in ray/bb hit tests inside instances
Diffstat (limited to 'source/blender/render/intern/include')
-rw-r--r-- | source/blender/render/intern/include/rayobject_rtbuild.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/render/intern/include/rayobject_rtbuild.h b/source/blender/render/intern/include/rayobject_rtbuild.h index 6fef18433b9..a98ed38a581 100644 --- a/source/blender/render/intern/include/rayobject_rtbuild.h +++ b/source/blender/render/intern/include/rayobject_rtbuild.h @@ -54,6 +54,8 @@ typedef struct RTBuilder int child_offset[RTBUILD_MAX_CHILDS+1]; int child_sorted_axis; /* -1 if not sorted */ + + float bb[6]; } RTBuilder; @@ -61,6 +63,7 @@ typedef struct RTBuilder RTBuilder* rtbuild_create(int size); void rtbuild_free(RTBuilder *b); void rtbuild_add(RTBuilder *b, RayObject *o); +void rtbuild_merge_bb(RTBuilder *b, float *min, float *max); int rtbuild_size(RTBuilder *b); /* used during tree reorganization */ @@ -82,5 +85,7 @@ int rtbuild_median_split_largest_axis(RTBuilder *b, int nchilds); /* bb utils */ float bb_area(float *min, float *max); +float bb_volume(float *min, float *max); +int bb_largest_axis(float *min, float *max); #endif |