The spica renderer
kdtree.h
1 #ifdef _MSC_VER
2 #pragma once
3 #endif
4 
5 #ifndef _SPICA_KDTREE_ACCEL_H_
6 #define _SPICA_KDTREE_ACCEL_H_
7 
8 #include <vector>
9 
10 #include "core/common.h"
11 #include "core/uncopyable.h"
12 
13 #include "render/accelerator.h"
14 
15 namespace spica {
16 
21 //class SPICA_EXPORTS KdTreeAccel : public Accelerator {
22 //private:
23 // struct KdTreeNode {
24 // Bounds3d bbox;
25 // IndexedTriangle triangle;
26 // KdTreeNode* left;
27 // KdTreeNode* right;
28 // bool isLeaf;
29 //
30 // KdTreeNode()
31 // : bbox()
32 // , triangle()
33 // , left(nullptr)
34 // , right(nullptr)
35 // , isLeaf(false) {
36 // }
37 //
38 // ~KdTreeNode() {
39 // }
40 // };
41 //
42 // KdTreeNode* _root; // tree root
43 //
44 //public:
45 // KdTreeAccel();
46 // virtual ~KdTreeAccel();
47 //
48 // void construct() override;
49 // bool intersect(Ray& ray, SurfaceInteraction* isect) const override;
50 // std::vector<Triangle> triangulate() const override;
51 //
52 //private:
53 // void release();
54 // void deleteNode(KdTreeNode* node);
55 // KdTreeNode* copyNode(KdTreeNode* node);
56 // KdTreeNode* constructRec(std::vector<IndexedTriangle>& triangles, int start, int end);
57 //};
58 
59 } // namespace spica
60 
61 #endif // _SPICA_KDTREE_H_