| NTrace
    GPU ray tracing framework | 
#include <BVHNode.hpp>
Inherits FW::BVHNode.
| Public Member Functions | |
| InnerNode (const AABB &bounds, BVHNode *child0, BVHNode *child1) | |
| Constructor.  More... | |
| InnerNode (const AABB &bounds, BVHNode *child0, BVHNode *child1, S32 axis, SplitInfo::SplitType splitType, bool osahTested) | |
| Constructor.  More... | |
| bool | isLeaf () const | 
| S32 | getNumChildNodes () const | 
| BVHNode * | getChildNode (S32 i) const | 
| Returns one of the node's child nodes.  More... | |
|  Public Member Functions inherited from FW::BVHNode | |
| BVHNode () | |
| Constructor.  More... | |
| virtual S32 | getNumTriangles () const | 
| float | getArea () const | 
| int | getSubtreeSize (BVH_STAT stat=BVH_STAT_NODE_COUNT) const | 
| Calculates various information about the node's subtree.  More... | |
| void | computeSubtreeProbabilities (const Platform &p, float parentProbability, float &sah) | 
| Calculates node's subtree probabilities and also sah price.  More... | |
| float | computeSubtreeSAHCost (const Platform &p) const | 
| Calculates subtree SAH cost. Requires calculated probabilities.  More... | |
| void | deleteSubtree () | 
| Deletes node's subtree.  More... | |
| void | assignIndicesDepthFirst (S32 index=0, bool includeLeafNodes=true) | 
| Assigns node's sbutree indices in depth first order.  More... | |
| void | assignIndicesBreadthFirst (S32 index=0, bool includeLeafNodes=true) | 
| Assigns node's subtree indices in breadth first order.  More... | |
| Public Attributes | |
| BVHNode * | m_children [2] | 
| Child nodes.  More... | |
| SplitInfo | m_splitInfo | 
| Split info.  More... | |
|  Public Attributes inherited from FW::BVHNode | |
| AABB | m_bounds | 
| Bounding box of the node.  More... | |
| float | m_probability | 
| Probability of coming here (widebvh uses this).  More... | |
| float | m_parentProbability | 
| Probability of coming to parent (widebvh uses this).  More... | |
| int | m_treelet | 
| For queuing tests (qmachine uses this).  More... | |
| int | m_index | 
| in linearized tree (qmachine uses this).  More... | |
BVH inner node.
Definition at line 228 of file BVHNode.hpp.
Constructor.
| [in] | bounds | Node's bounding box. | 
| [in] | child0 | Left child node. | 
| [in] | child1 | Right child node. | 
Definition at line 238 of file BVHNode.hpp.
| 
 | inline | 
Constructor.
| [in] | bounds | Node's bounding box. | 
| [in] | child0 | Left child node. | 
| [in] | child1 | Right child node. | 
| [in] | axis | Axis of the node's split. | 
| [in] | splitType | Type of the node's split. | 
| [in] | osahTested | Flag whether the split was tested for OSAH. | 
Definition at line 249 of file BVHNode.hpp.
Returns one of the node's child nodes.
| [in] | i | Index of the child node. | 
Implements FW::BVHNode.
Definition at line 266 of file BVHNode.hpp.
| 
 | inlinevirtual | 
Implements FW::BVHNode.
Definition at line 259 of file BVHNode.hpp.
| 
 | inlinevirtual | 
Implements FW::BVHNode.
Definition at line 254 of file BVHNode.hpp.
| BVHNode* FW::InnerNode::m_children[2] | 
Child nodes.
Definition at line 268 of file BVHNode.hpp.
| SplitInfo FW::InnerNode::m_splitInfo | 
Split info.
Definition at line 269 of file BVHNode.hpp.