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