Blender V2.61 - r43446
|
#include <assert.h>
#include "MEM_guardedalloc.h"
#include "BKE_global.h"
#include "BLI_math.h"
#include "BLI_memarena.h"
#include "BLI_utildefines.h"
#include "rayintersection.h"
#include "rayobject.h"
#include "rayobject_rtbuild.h"
#include "reorganize.h"
#include "bvh.h"
#include "vbvh.h"
#include <queue>
#include <algorithm>
Go to the source code of this file.
Classes | |
struct | VBVHTree |
struct | PackCost |
Defines | |
#define | DFS_STACK_SIZE 256 |
Functions | |
template<> | |
void | bvh_done< VBVHTree > (VBVHTree *obj) |
template<int StackSize> | |
int | intersect (VBVHTree *obj, Isect *isec) |
template<class Tree > | |
void | bvh_hint_bb (Tree *tree, LCTSHint *hint, float *UNUSED(min), float *UNUSED(max)) |
void | bfree (VBVHTree *tree) |
template<class Tree , int STACK_SIZE> | |
RayObjectAPI | make_api () |
template<class Tree > | |
RayObjectAPI * | bvh_get_api (int maxstacksize) |
RayObject * | RE_rayobject_vbvh_create (int size) |
Variables | |
int | tot_pushup = 0 |
int | tot_pushdown = 0 |
int | tot_hints = 0 |
Definition in file rayobject_vbvh.cpp.
#define DFS_STACK_SIZE 256 |
Definition at line 58 of file rayobject_vbvh.cpp.
Referenced by bvh_create_tree().
void bfree | ( | VBVHTree * | tree | ) |
Definition at line 160 of file rayobject_vbvh.cpp.
References bvh_free(), G, G_DEBUG, tot_hints, tot_moves, tot_pushdown, and tot_pushup.
Definition at line 81 of file rayobject_vbvh.cpp.
References BLI_memarena_free(), BLI_memarena_new(), BLI_MEMARENA_STD_BUFSIZE, BLI_memarena_use_malloc(), bvh_refit(), NULL, pushdown(), pushup(), RE_rayobjectcontrol_test_break(), remove_useless(), reorganize(), MakeCursor::root, rtbuild_done(), rtbuild_free(), and transform().
RayObjectAPI* bvh_get_api | ( | int | maxstacksize | ) |
Definition at line 198 of file rayobject_vbvh.cpp.
References assert.
void bvh_hint_bb | ( | Tree * | tree, |
LCTSHint * | hint, | ||
float * | UNUSEDmin, | ||
float * | UNUSEDmax | ||
) |
Definition at line 151 of file rayobject_vbvh.cpp.
References LCTSHint::size, and LCTSHint::stack.
Definition at line 137 of file rayobject_vbvh.cpp.
References Isect::mode, RE_RAY_SHADOW, RE_rayobject_intersect(), RE_rayobject_isAligned, and VBVHTree::root.
Referenced by distribute_threads_exec(), KX_Scene::MarkVisible(), particle_intersect_dm(), and KX_Camera::SphereInsideFrustum().
RayObjectAPI make_api | ( | ) |
Definition at line 181 of file rayobject_vbvh.cpp.
RayObject* RE_rayobject_vbvh_create | ( | int | size | ) |
Definition at line 207 of file rayobject_vbvh.cpp.
References size().
Referenced by RE_rayobject_create().
int tot_hints = 0 |
Definition at line 35 of file rayobject_vbvh.cpp.
Referenced by bfree().
int tot_pushdown = 0 |
Definition at line 34 of file rayobject_vbvh.cpp.
Referenced by bfree(), and pushdown().
int tot_pushup = 0 |
Definition at line 33 of file rayobject_vbvh.cpp.