diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-05-15 22:45:20 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-05-15 22:45:20 +0400 |
commit | e79c29a1d6985a4b1978a547f80ba6fc6be6b475 (patch) | |
tree | 90ebc3e2b1bc48be47bbbb0cbd99523e2baa319e /source/blender/render/intern/raytrace/rayobject_vbvh.cpp | |
parent | 7aa21d677aea676fcedf76f330775f4c38e71f3f (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.cpp | 46 |
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>(); |