LeviLamina
Loading...
Searching...
No Matches
Frustum.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5class Frustum {
6public:
7 // Frustum inner types define
8 enum class FrustumSide : uchar {
9 Right = 0,
10 Left = 1,
11 Bottom = 2,
12 Top = 3,
13 Back = 4,
14 Front = 5,
15 NumFrustumPlanes = 6,
16 };
17
18 enum class Plane : uchar {
19 PlaneNormalX = 0,
20 PlaneNormalY = 1,
21 PlaneNormalZ = 2,
22 PlaneToOriginDistance = 3,
23 };
24
25public:
26 // member variables
27 // NOLINTBEGIN
31 // NOLINTEND
32
33public:
34 // prevent constructor by default
35 Frustum& operator=(Frustum const&);
36 Frustum(Frustum const&);
37 Frustum();
38
39public:
40 // member functions
41 // NOLINTBEGIN
42#ifdef LL_PLAT_C
43 MCNAPI void calculateFrustum(::glm::mat4x4 const& mvp);
44
45 MCNAPI bool cubeInFrustum(::glm::vec3 const& min, ::glm::vec3 const& max) const;
46
47 MCNAPI bool pointInFrustum(::glm::vec3 const& point) const;
48#endif
49 // NOLINTEND
50};
Definition Alias.h:14