From a81bcb1942ddad5989115061338e72211443e633 Mon Sep 17 00:00:00 2001 From: LaG1924 <12997935+LaG1924@users.noreply.github.com> Date: Mon, 9 Oct 2017 21:39:48 +0500 Subject: 2017-10-09 --- src/Frustum.hpp | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/Frustum.hpp (limited to 'src/Frustum.hpp') diff --git a/src/Frustum.hpp b/src/Frustum.hpp new file mode 100644 index 0000000..4817cd4 --- /dev/null +++ b/src/Frustum.hpp @@ -0,0 +1,35 @@ +#pragma once + +#include +#include "Vector.hpp" + +class Frustum { + enum FrustumSide { + RIGHT = 0, + LEFT, + BOTTOM, + TOP, + BACK, + FRONT, + }; + enum PlaneData { + A = 0, + B, + C, + D, + }; + + glm::mat4 vp; + float frustum[6][4]; + void NormalizePlane(FrustumSide side); + +public: + Frustum() = default; + + ~Frustum() = default; + + void UpdateFrustum(const glm::mat4& vpmat); + + //Return true, if tested point is visible + bool TestPoint(VectorF point); +}; \ No newline at end of file -- cgit v1.2.3