5#ifndef __BVH_EMBREE_H__
6#define __BVH_EMBREE_H__
10# if EMBREE_MAJOR_VERSION >= 4
11# include <embree4/rtcore.h>
12# include <embree4/rtcore_scene.h>
14# include <embree3/rtcore.h>
15# include <embree3/rtcore_scene.h>
32class BVHEmbree :
public BVH {
37 const bool isSyclEmbreeDevice =
false);
40# if defined(WITH_EMBREE_GPU) && RTC_VERSION >= 40302
44 const char *get_error_string(RTCError error_code);
55 void add_object(
Object *ob,
int i);
56 void add_instance(
Object *ob,
int i);
59 void add_triangles(
const Object *ob,
const Mesh *mesh,
int i);
62 void set_tri_vertex_buffer(RTCGeometry geom_id,
const Mesh *mesh,
const bool update);
63 void set_curve_vertex_buffer(RTCGeometry geom_id,
const Hair *hair,
const bool update);
64 void set_point_vertex_buffer(RTCGeometry geom_id,
69 bool rtc_device_is_sycl;
70 enum RTCBuildQuality build_quality;
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)