Go to the documentation of this file.
36 #ifndef LVR2_ALGORITHM_RAYCASTING_CLRAYCASTER
37 #define LVR2_ALGORITHM_RAYCASTING_CLRAYCASTER
44 #define CL_HPP_ENABLE_EXCEPTIONS
45 #define CL_HPP_MINIMUM_OPENCL_VERSION 120 // Need to set to 120 on CUDA 8
46 #define CL_HPP_TARGET_OPENCL_VERSION 120 // Need to set to 120 on CUDA 8
69 template<
typename IntT>
77 unsigned int stack_size = 32);
107 const std::vector<Vector3f>& directions,
108 std::vector<IntT>& intersections,
109 std::vector<uint8_t>& hits)
override;
121 const std::vector<Vector3f>& origins,
122 const std::vector<Vector3f>& directions,
123 std::vector<IntT>& intersections,
124 std::vector<uint8_t>& hits)
override;
231 #include "CLRaycaster.tcc"
233 #endif // LVR2_ALGORITHM_RAYCASTING_CLRAYCASTER
cl::Buffer m_resultBuffer
void initOpenCL()
Initializes OpenCL related stuff.
bool castRay(const Vector3f &origin, const Vector3f &direction, IntT &intersection)
Overload functions ///.
CLRaycaster(const MeshBufferPtr mesh, unsigned int stack_size=32)
Constructor: Generate BVH tree on mesh, loads CL kernels.
Eigen::Vector3f Vector3f
Eigen 3D vector, single precision.
CLRaycaster: GPU OpenCL version of BVH Raycasting.
cl::Buffer m_bvhLimitsnBuffer
cl::Kernel m_kernel_one_multi
void initOpenCLBuffer(size_t num_origins, size_t num_dirs)
TODO.
void castRays(const Vector3f &origin, const std::vector< Vector3f > &directions, std::vector< IntT > &intersections, std::vector< uint8_t > &hits) override
Cast a ray from single origin with multiple directions onto the mesh.
size_t m_max_work_group_size
cl::Buffer m_bvhIndicesOrTriListsBuffer
BUFFER ///.
cl::Kernel m_kernel_multi_multi
cl::Buffer m_bvhTriangleIntersectionDataBuffer
cl::Kernel m_kernel_one_one
std::shared_ptr< MeshBuffer > MeshBufferPtr
cl_ulong m_device_global_memory
BVHRaycaster: CPU version of BVH Raycasting: WIP.
void initOpenCLTreeBuffer()
TODO docu.
cl::Buffer m_bvhTriIdxListBuffer
void getDeviceInformation()
TODO.
cl::Buffer m_rayOriginBuffer
cl_uint m_threads_per_block
lvr2
Author(s): Thomas Wiemann
, Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Wed Mar 2 2022 00:37:23