12 # include <Metal/Metal.h>
16 class BVHMetal :
public BVH {
18 API_AVAILABLE(macos(11.0))
19 id<MTLAccelerationStructure> accel_struct = nil;
20 bool accel_struct_building = false;
22 API_AVAILABLE(macos(11.0))
23 vector<
id<MTLAccelerationStructure>> blas_array;
25 bool motion_blur = false;
37 bool build_BLAS(
Progress &progress,
id<MTLDevice> device,
id<MTLCommandQueue>
queue,
bool refit);
38 bool build_BLAS_mesh(
Progress &progress,
40 id<MTLCommandQueue>
queue,
43 bool build_BLAS_hair(
Progress &progress,
45 id<MTLCommandQueue>
queue,
48 bool build_BLAS_pointcloud(
Progress &progress,
50 id<MTLCommandQueue>
queue,
53 bool build_TLAS(
Progress &progress,
id<MTLDevice> device,
id<MTLCommandQueue>
queue,
bool refit);
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