Initial commit of KazEngine3
[kazengine.git] / src / scene / frustum.h
bloba05ac1444dc15e8d110ecbca18d522d68c1ce280
1 #ifndef FRUSTUM_H_INCLUDED
2 #define FRUSTUM_H_INCLUDED
4 #include <kazmathxx/plane.h>
5 #include <kazmathxx/aabb.h>
7 class frustum {
8 public:
9 bool point_in_frustum(const float* point);
10 bool cube_in_frustum(const float* point, const float size);
11 bool aabb_in_frustum(const kmAABB& aabb);
13 void update_frustum();
14 void update_frustum(const float* model, const float* proj);
16 private:
17 Plane m_planes[6]; ///< 6 planes to make up the frustum
19 void calculate_frustum(const float* model, const float* proj);
20 void normalize_frustum();
23 #endif // FRUSTUM_H_INCLUDED