Blender V4.3
hiprt.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2011-2023 Blender Foundation
2 *
3 * SPDX-License-Identifier: Apache-2.0 */
4
5#ifdef WITH_HIPRT
6
7# pragma once
8
9# include "bvh/bvh.h"
10# include "bvh/params.h"
11
12# ifdef WITH_HIP_DYNLOAD
13# include "hiprtew.h"
14# else
15# include <hiprt/hiprt_types.h>
16# endif
17
18# include "device/memory.h"
19
21
22class BVHHIPRT : public BVH {
23 public:
24 friend class HIPDevice;
25
26 bool is_tlas()
27 {
28 return params.top_level;
29 }
30
31 hiprtGeometry hiprt_geom;
32 hiprtTriangleMeshPrimitive triangle_mesh;
33 hiprtAABBListPrimitive custom_prim_aabb;
34 hiprtGeometryBuildInput geom_input;
35
36 vector<int2> custom_prim_info; /* x: prim_id, y: prim_type */
37 vector<float2> prims_time;
38
39 /* Custom primitives. */
40 device_vector<BoundBox> custom_primitive_bound;
41 device_vector<int> triangle_index;
42 device_vector<float> vertex_data;
43
44 protected:
45 friend class BVH;
46 BVHHIPRT(const BVHParams &params,
47 const vector<Geometry *> &geometry,
48 const vector<Object *> &objects,
49 Device *in_device);
50
51 virtual ~BVHHIPRT();
52
53 private:
54 Device *device;
55};
56
58
59#endif
Definition bvh/bvh.h:66
#define CCL_NAMESPACE_END
uiWidgetBaseParameters params[MAX_WIDGET_BASE_BATCH]