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:
authorCampbell Barton <ideasman42@gmail.com>2012-05-15 22:45:20 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-05-15 22:45:20 +0400
commite79c29a1d6985a4b1978a547f80ba6fc6be6b475 (patch)
tree90ebc3e2b1bc48be47bbbb0cbd99523e2baa319e /source/blender/render/intern/raytrace/rayobject_vbvh.cpp
parent7aa21d677aea676fcedf76f330775f4c38e71f3f (diff)
style cleanup: raytree code
Diffstat (limited to 'source/blender/render/intern/raytrace/rayobject_vbvh.cpp')
-rw-r--r--source/blender/render/intern/raytrace/rayobject_vbvh.cpp46
1 files changed, 22 insertions, 24 deletions
diff --git a/source/blender/render/intern/raytrace/rayobject_vbvh.cpp b/source/blender/render/intern/raytrace/rayobject_vbvh.cpp
index 47e78b8912e..9e7075438cb 100644
--- a/source/blender/render/intern/raytrace/rayobject_vbvh.cpp
+++ b/source/blender/render/intern/raytrace/rayobject_vbvh.cpp
@@ -55,10 +55,9 @@ int tot_hints = 0;
#include <queue>
#include <algorithm>
-#define DFS_STACK_SIZE 256
+#define DFS_STACK_SIZE 256
-struct VBVHTree
-{
+struct VBVHTree {
RayObject rayobj;
VBVHNode *root;
MemArena *node_arena;
@@ -69,8 +68,7 @@ struct VBVHTree
/*
* Cost to test N childs
*/
-struct PackCost
-{
+struct PackCost {
float operator()(int n)
{
return n;
@@ -84,7 +82,7 @@ void bvh_done<VBVHTree>(VBVHTree *obj)
//TODO find a away to exactly calculate the needed memory
MemArena *arena1 = BLI_memarena_new(BLI_MEMARENA_STD_BUFSIZE, "vbvh arena");
- BLI_memarena_use_malloc(arena1);
+ BLI_memarena_use_malloc(arena1);
//Build and optimize the tree
if (1) {
@@ -107,10 +105,10 @@ void bvh_done<VBVHTree>(VBVHTree *obj)
obj->root = NULL;
}
else {
-/*
- TODO
+ /* TODO */
+#if 0
MemArena *arena2 = BLI_memarena_new(BLI_MEMARENA_STD_BUFSIZE, "vbvh arena2");
- BLI_memarena_use_malloc(arena2);
+ BLI_memarena_use_malloc(arena2);
//Finds the optimal packing of this tree using a given cost model
//TODO this uses quite a lot of memory, find ways to reduce memory usage during building
@@ -119,11 +117,11 @@ void bvh_done<VBVHTree>(VBVHTree *obj)
obj->root = Reorganize_VBVH<OVBVHNode>(arena1).transform(root);
BLI_memarena_free(arena2);
- */
+#endif
}
//Cleanup
- rtbuild_free( obj->builder );
+ rtbuild_free(obj->builder);
obj->builder = NULL;
obj->node_arena = arena1;
@@ -131,17 +129,17 @@ void bvh_done<VBVHTree>(VBVHTree *obj)
}
template<int StackSize>
-int intersect(VBVHTree *obj, Isect* isec)
+int intersect(VBVHTree *obj, Isect *isec)
{
//TODO renable hint support
if (RE_rayobject_isAligned(obj->root)) {
if (isec->mode == RE_RAY_SHADOW)
- return bvh_node_stack_raycast<VBVHNode, StackSize, false, true>( obj->root, isec);
+ return bvh_node_stack_raycast<VBVHNode, StackSize, false, true>(obj->root, isec);
else
- return bvh_node_stack_raycast<VBVHNode, StackSize, false, false>( obj->root, isec);
+ return bvh_node_stack_raycast<VBVHNode, StackSize, false, false>(obj->root, isec);
}
else
- return RE_rayobject_intersect( (RayObject*) obj->root, isec );
+ return RE_rayobject_intersect( (RayObject *) obj->root, isec);
}
template<class Tree>
@@ -150,7 +148,7 @@ void bvh_hint_bb(Tree *tree, LCTSHint *hint, float *UNUSED(min), float *UNUSED(m
//TODO renable hint support
{
hint->size = 0;
- hint->stack[hint->size++] = (RayObject*)tree->root;
+ hint->stack[hint->size++] = (RayObject *)tree->root;
}
}
@@ -178,20 +176,20 @@ RayObjectAPI make_api()
{
static RayObjectAPI api =
{
- (RE_rayobject_raycast_callback) ((int(*)(Tree*, Isect*)) &intersect<STACK_SIZE>),
- (RE_rayobject_add_callback) ((void(*)(Tree*, RayObject*)) &bvh_add<Tree>),
- (RE_rayobject_done_callback) ((void(*)(Tree*)) &bvh_done<Tree>),
- (RE_rayobject_free_callback) ((void(*)(Tree*)) &bvh_free<Tree>),
- (RE_rayobject_merge_bb_callback)((void(*)(Tree*, float*, float*)) &bvh_bb<Tree>),
- (RE_rayobject_cost_callback) ((float(*)(Tree*)) &bvh_cost<Tree>),
- (RE_rayobject_hint_bb_callback) ((void(*)(Tree*, LCTSHint*, float*, float*)) &bvh_hint_bb<Tree>)
+ (RE_rayobject_raycast_callback) ((int (*)(Tree *, Isect *)) & intersect<STACK_SIZE>),
+ (RE_rayobject_add_callback) ((void (*)(Tree *, RayObject *)) & bvh_add<Tree>),
+ (RE_rayobject_done_callback) ((void (*)(Tree *)) & bvh_done<Tree>),
+ (RE_rayobject_free_callback) ((void (*)(Tree *)) & bvh_free<Tree>),
+ (RE_rayobject_merge_bb_callback)((void (*)(Tree *, float *, float *)) & bvh_bb<Tree>),
+ (RE_rayobject_cost_callback) ((float (*)(Tree *)) & bvh_cost<Tree>),
+ (RE_rayobject_hint_bb_callback) ((void (*)(Tree *, LCTSHint *, float *, float *)) & bvh_hint_bb<Tree>)
};
return api;
}
template<class Tree>
-RayObjectAPI* bvh_get_api(int maxstacksize)
+RayObjectAPI *bvh_get_api(int maxstacksize)
{
static RayObjectAPI bvh_api256 = make_api<Tree, 1024>();