9# include <embree4/rtcore.h>
10# include <embree4/rtcore_scene.h>
23class BVHEmbree :
public BVH {
28 const bool rtc_device_is_sycl_ =
false);
31# if defined(WITH_EMBREE_GPU) && RTC_VERSION >= 40302
32 RTCError offload_scenes_to_gpu(
const vector<RTCScene> &scenes);
35 const char *get_error_string(RTCError error_code);
39 BVHEmbree(
const BVHParams &
params,
40 const vector<Geometry *> &geometry,
41 const vector<Object *> &objects);
42 ~BVHEmbree()
override;
45 void add_object(
Object *ob,
const int i);
46 void add_instance(
Object *ob,
const int i);
49 void add_triangles(
const Object *ob,
const Mesh *mesh,
const int i);
52 void set_tri_vertex_buffer(RTCGeometry geom_id,
const Mesh *mesh,
const bool update);
53 void set_curve_vertex_buffer(RTCGeometry geom_id,
const Hair *hair,
const bool update);
54 void set_point_vertex_buffer(RTCGeometry geom_id,
59 bool rtc_device_is_sycl;
60 enum RTCBuildQuality build_quality;
struct PointCloud PointCloud
void refit(btStridingMeshInterface *triangles, const btVector3 &aabbMin, const btVector3 &aabbMax)
void build(btStridingMeshInterface *triangles, bool useQuantizedAabbCompression, const btVector3 &bvhAabbMin, const btVector3 &bvhAabbMax)
#define CCL_NAMESPACE_END
void add_curves(bke::CurvesGeometry &curves, const Span< int > new_sizes)
static void update(bNodeTree *ntree)