DHART
|
Classes | |
class | BBox |
Bounding box. More... | |
struct | BinBuffer |
class | BVHAccel |
Bounding Volume Hierarchy acceleration. More... | |
struct | BVHBuildOptions |
BVH build option. More... | |
class | BVHBuildStatistics |
BVH build statistics. More... | |
class | BVHNode |
class | BVHTraceOptions |
BVH trace option. More... | |
class | IntersectComparator |
class | NodeHit |
Hit class for traversing nodes. More... | |
class | NodeHitComparator |
Comparator object for NodeHit. More... | |
class | Ray |
class | real3 |
class | StackAllocator |
class | StackContainer |
class | StackVector |
class | TriangleIntersection |
class | TriangleIntersector |
class | TriangleMesh |
class | TriangleSAHPred |
Enumerations | |
enum | RayType { RAY_TYPE_NONE = 0x0 , RAY_TYPE_PRIMARY = 0x1 , RAY_TYPE_SECONDARY = 0x2 , RAY_TYPE_DIFFUSE = 0x4 , RAY_TYPE_REFLECTION = 0x8 , RAY_TYPE_REFRACTION = 0x10 } |
Functions | |
template<typename T > | |
real3< T > | operator* (T f, const real3< T > &v) |
template<typename T > | |
real3< T > | vneg (const real3< T > &rhs) |
template<typename T > | |
T | vlength (const real3< T > &rhs) |
template<typename T > | |
real3< T > | vnormalize (const real3< T > &rhs) |
template<typename T > | |
real3< T > | vcross (const real3< T > a, const real3< T > b) |
template<typename T > | |
T | vdot (const real3< T > a, const real3< T > b) |
template<typename T > | |
real3< T > | vsafe_inverse (const real3< T > v) |
template<typename real > | |
const real * | get_vertex_addr (const real *p, const size_t idx, const size_t stride_bytes) |
template<class T > | |
const T & | safemin (const T &a, const T &b) |
template<class T > | |
const T & | safemax (const T &a, const T &b) |
template<typename T > | |
T | CalculateSurfaceArea (const real3< T > &min, const real3< T > &max) |
template<typename T > | |
void | GetBoundingBoxOfTriangle (real3< T > *bmin, real3< T > *bmax, const T *vertices, const unsigned int *faces, unsigned int index) |
template<typename T , class P > | |
void | ContributeBinBuffer (BinBuffer *bins, const real3< T > &scene_min, const real3< T > &scene_max, unsigned int *indices, unsigned int left_idx, unsigned int right_idx, const P &p) |
template<typename T > | |
T | SAH (size_t ns1, T leftArea, size_t ns2, T rightArea, T invS, T Taabb, T Ttri) |
template<typename T > | |
bool | FindCutFromBinBuffer (T *cut_pos, int *minCostAxis, const BinBuffer *bins, const real3< T > &bmin, const real3< T > &bmax, size_t num_primitives, T costTaabb) |
template<typename T , class P > | |
void | ComputeBoundingBox (real3< T > *bmin, real3< T > *bmax, const unsigned int *indices, unsigned int left_index, unsigned int right_index, const P &p) |
template<typename T > | |
void | GetBoundingBox (real3< T > *bmin, real3< T > *bmax, const std::vector< BBox< T > > &bboxes, unsigned int *indices, unsigned int left_index, unsigned int right_index) |
template<typename T > | |
bool | IntersectRayAABB (T *tminOut, T *tmaxOut, T min_t, T max_t, const T bmin[3], const T bmax[3], real3< T > ray_org, real3< T > ray_inv_dir, int ray_dir_sign[3]) |
template<> | |
bool | IntersectRayAABB< float > (float *tminOut, float *tmaxOut, float min_t, float max_t, const float bmin[3], const float bmax[3], real3< float > ray_org, real3< float > ray_inv_dir, int ray_dir_sign[3]) |
template<> | |
bool | IntersectRayAABB< double > (double *tminOut, double *tmaxOut, double min_t, double max_t, const double bmin[3], const double bmax[3], real3< double > ray_org, real3< double > ray_inv_dir, int ray_dir_sign[3]) |
class nanort::TriangleIntersection |
enum nanort::RayType |
|
inline |
Definition at line 1216 of file nanort.h.
Referenced by FindCutFromBinBuffer().
|
inline |
Definition at line 1553 of file nanort.h.
Referenced by nanort::BVHAccel< T >::Build(), and nanort::BVHAccel< T >::BuildTree().
|
inline |
Definition at line 1252 of file nanort.h.
References nanort::BinBuffer::bin, and nanort::BinBuffer::bin_size.
Referenced by nanort::BVHAccel< T >::BuildTree().
|
inline |
Definition at line 1334 of file nanort.h.
References nanort::BinBuffer::bin, nanort::BinBuffer::bin_size, CalculateSurfaceArea(), and SAH().
Referenced by nanort::BVHAccel< T >::BuildTree().
|
inline |
Definition at line 474 of file nanort.h.
Referenced by nanort::TriangleMesh< T >::BoundingBox(), and nanort::TriangleIntersector< T, H >::Intersect().
|
inline |
Definition at line 1577 of file nanort.h.
Referenced by nanort::BVHAccel< T >::BuildTree().
|
inline |
Referenced by nanort::BVHAccel< T >::ListNodeIntersections(), and nanort::BVHAccel< T >::Traverse().
|
inline |
Definition at line 373 of file nanort.h.
References nanort::real3< T >::x(), nanort::real3< T >::y(), and nanort::real3< T >::z().
const T & nanort::safemax | ( | const T & | a, |
const T & | b | ||
) |
Definition at line 1194 of file nanort.h.
Referenced by IntersectRayAABB< double >(), and IntersectRayAABB< float >().
const T & nanort::safemin | ( | const T & | a, |
const T & | b | ||
) |
Definition at line 1190 of file nanort.h.
Referenced by IntersectRayAABB< double >(), and IntersectRayAABB< float >().
|
inline |
Definition at line 1322 of file nanort.h.
Referenced by FindCutFromBinBuffer().
|
inline |
Definition at line 383 of file nanort.h.
References nanort::real3< T >::x(), nanort::real3< T >::y(), and nanort::real3< T >::z().
Referenced by vnormalize().
Definition at line 378 of file nanort.h.
References nanort::real3< T >::x(), nanort::real3< T >::y(), and nanort::real3< T >::z().
Definition at line 388 of file nanort.h.
References nanort::real3< T >::v, and vlength().
Definition at line 415 of file nanort.h.
Referenced by nanort::BVHAccel< T >::ListNodeIntersections(), and nanort::BVHAccel< T >::Traverse().