Blender V2.61 - r43446
|
#include <bvh.h>
Protected Member Functions | |
RegularBVH (const BVHParams ¶ms, const vector< Object * > &objects) | |
void | pack_nodes (const array< int > &prims, const BVHNode *root) |
void | pack_leaf (const BVHStackEntry &e, const LeafNode *leaf) |
void | pack_inner (const BVHStackEntry &e, const BVHStackEntry &e0, const BVHStackEntry &e1) |
void | pack_node (int idx, const BoundBox &b0, const BoundBox &b1, int c0, int c1, uint visibility0, uint visibility1) |
void | refit_nodes () |
void | refit_node (int idx, bool leaf, BoundBox &bbox, uint &visibility) |
Friends | |
class | BVH |
Definition at line 120 of file intern/cycles/bvh/bvh.h.
void RegularBVH::pack_inner | ( | const BVHStackEntry & | e, |
const BVHStackEntry & | e0, | ||
const BVHStackEntry & | e1 | ||
) | [protected] |
Definition at line 467 of file bvh.cpp.
References BVHStackEntry::encodeIdx(), BVHStackEntry::idx, and pack_node().
Referenced by pack_nodes().
void RegularBVH::pack_leaf | ( | const BVHStackEntry & | e, |
const LeafNode * | leaf | ||
) | [protected] |
Definition at line 457 of file bvh.cpp.
References BVHStackEntry::idx, BVHNode::m_bounds, LeafNode::m_hi, LeafNode::m_lo, BVHNode::m_visibility, LeafNode::num_triangles(), BVH::pack, pack_node(), and PackedBVH::prim_index.
Referenced by pack_nodes().
void RegularBVH::pack_node | ( | int | idx, |
const BoundBox & | b0, | ||
const BoundBox & | b1, | ||
int | c0, | ||
int | c1, | ||
uint | visibility0, | ||
uint | visibility1 | ||
) | [protected] |
Definition at line 472 of file bvh.cpp.
References __float_as_int(), BVH_NODE_SIZE, data, make_int4(), BoundBox::max, BoundBox::min, PackedBVH::nodes, BVH::pack, float3::x, float3::y, and float3::z.
Referenced by pack_inner(), pack_leaf(), and refit_node().
void RegularBVH::pack_nodes | ( | const array< int > & | prims, |
const BVHNode * | root | ||
) | [protected, virtual] |
Implements BVH.
Definition at line 485 of file bvh.cpp.
References BVH_NODE_SIZE, BVH_STAT_NODE_COUNT, array< T >::clear(), credits_svn_gen::e, BVHNode::getSubtreeSize(), BVHStackEntry::idx, PackedBVH::is_leaf, PackedBVH::nodes, BVH::pack, pack_inner(), BVH::pack_instances(), pack_leaf(), BVH::params, array< T >::resize(), PackedBVH::root_index, stack, and BVHParams::top_level.
Definition at line 538 of file bvh.cpp.
References Object::bounds, data, BoundBox::grow(), Object::mesh, PackedBVH::nodes, BVH::objects, BVH::pack, pack_node(), BVH::params, PackedBVH::prim_index, PackedBVH::prim_object, BVHParams::top_level, Mesh::tri_offset, Mesh::triangles, Mesh::verts, Object::visibility, int4::x, and int4::y.
Referenced by refit_nodes().
void RegularBVH::refit_nodes | ( | ) | [protected, virtual] |
Implements BVH.
Definition at line 529 of file bvh.cpp.
References assert, PackedBVH::is_leaf, BVH::pack, BVH::params, refit_node(), and BVHParams::top_level.
friend class BVH [friend] |
Definition at line 123 of file intern/cycles/bvh/bvh.h.