blob: db2d8bb6d5b34326df379162796abae6ea8780b7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
/* SPDX-License-Identifier: Apache-2.0
* Copyright 2019, NVIDIA Corporation.
* Copyright 2019-2022 Blender Foundation. */
#ifndef __BVH_OPTIX_H__
#define __BVH_OPTIX_H__
#ifdef WITH_OPTIX
# include "bvh/bvh.h"
# include "bvh/params.h"
# include "device/memory.h"
# include "util/unique_ptr.h"
CCL_NAMESPACE_BEGIN
class BVHOptiX : public BVH {
public:
Device *device;
uint64_t traversable_handle;
unique_ptr<device_only_memory<char>> as_data;
unique_ptr<device_only_memory<char>> motion_transform_data;
protected:
friend class BVH;
BVHOptiX(const BVHParams ¶ms,
const vector<Geometry *> &geometry,
const vector<Object *> &objects,
Device *device);
virtual ~BVHOptiX();
};
CCL_NAMESPACE_END
#endif /* WITH_OPTIX */
#endif /* __BVH_OPTIX_H__ */
|