Acceleration structure for native ray tracer. Based on implementation described in Physically Based Rendering: From Theory to Implementation by Matt Pharr, Wenzel Jakob and Greg Humphreys.
More...
#include <BoundingVolumeHierarchy.h>
|
| | BoundingVolumeHierarchy (const float *coords, const IT *connectivityList, const size_t &nTriangles) |
| |
| | ~BoundingVolumeHierarchy ()=default |
| |
| std::shared_ptr< Node > | buildTree (std::vector< Triangle > &triangles, size_t start, size_t end) |
| |
| int | buildTriangleList (std::vector< Triangle > &triangles, const float *coords, const IT *connectivityList, const size_t &nTriangles) |
| |
| bool | MollerTrumbore (Ray &ray, const IT v0, const IT v1, const IT v2, const float *vertexCoords) const |
| |
| bool | intersect (Ray &r, const IT *connectivityList, const float *vertexCoords, int *triangleIndex, float *distance, std::vector< int > &triangles, std::vector< float > &distances, bool segmentIntersection=false) const |
| |
| bool | intersect (Ray &r, const IT *connectivityList, const float *vertexCoords, int *triangleIndex, float *distance, bool segmentIntersection=false) const |
| |
| bool | intersect (Ray &r, const IT *connectivityList, const float *vertexCoords, std::vector< int > &triangles, std::vector< float > &distances, bool segmentIntersection=false) const |
| |
| bool | wasNodeHit (const Ray &r, Node *n) const |
| |
template<typename IT>
class ttk::BoundingVolumeHierarchy< IT >
Acceleration structure for native ray tracer. Based on implementation described in Physically Based Rendering: From Theory to Implementation by Matt Pharr, Wenzel Jakob and Greg Humphreys.
- Author
- Rosty Hnatyshyn rosty.nosp@m.slav.nosp@m..hnat.nosp@m.yshy.nosp@m.n@gma.nosp@m.il.c.nosp@m.om
- Date
- 10.11.2020
Definition at line 24 of file BoundingVolumeHierarchy.h.
◆ BoundingVolumeHierarchy()
template<typename IT>
| ttk::BoundingVolumeHierarchy< IT >::BoundingVolumeHierarchy |
( |
const float * | coords, |
|
|
const IT * | connectivityList, |
|
|
const size_t & | nTriangles ) |
|
inline |
◆ ~BoundingVolumeHierarchy()
◆ buildTree()
◆ buildTriangleList()
◆ intersect() [1/3]
template<typename IT>
| bool ttk::BoundingVolumeHierarchy< IT >::intersect |
( |
Ray & | r, |
|
|
const IT * | connectivityList, |
|
|
const float * | vertexCoords, |
|
|
int * | triangleIndex, |
|
|
float * | distance, |
|
|
bool | segmentIntersection = false ) const |
|
inline |
◆ intersect() [2/3]
template<typename IT>
| bool ttk::BoundingVolumeHierarchy< IT >::intersect |
( |
Ray & | r, |
|
|
const IT * | connectivityList, |
|
|
const float * | vertexCoords, |
|
|
int * | triangleIndex, |
|
|
float * | distance, |
|
|
std::vector< int > & | triangles, |
|
|
std::vector< float > & | distances, |
|
|
bool | segmentIntersection = false ) const |
|
inline |
◆ intersect() [3/3]
template<typename IT>
| bool ttk::BoundingVolumeHierarchy< IT >::intersect |
( |
Ray & | r, |
|
|
const IT * | connectivityList, |
|
|
const float * | vertexCoords, |
|
|
std::vector< int > & | triangles, |
|
|
std::vector< float > & | distances, |
|
|
bool | segmentIntersection = false ) const |
|
inline |
◆ MollerTrumbore()
◆ wasNodeHit()
The documentation for this class was generated from the following file: