From 424d00eaf7335e1c6427f40260d55782c3fd902c Mon Sep 17 00:00:00 2001 From: Mel Date: Fri, 30 Jun 2023 15:15:00 +0200 Subject: Avoid per-frame chunk copies and don't render block faces between chunks --- src/Math/Vector.hpp | 29 +++++++++-------------------- 1 file changed, 9 insertions(+), 20 deletions(-) (limited to 'src/Math') diff --git a/src/Math/Vector.hpp b/src/Math/Vector.hpp index ccfa556..260891d 100644 --- a/src/Math/Vector.hpp +++ b/src/Math/Vector.hpp @@ -2,17 +2,14 @@ #include #include -#include -#include #include #include template struct Vector { -public: Vector(): elements{} {}; - template::type = 0> + template = 0> Vector(Args... args) : elements{ args... } {}; Vector(T values[S]) { @@ -117,25 +114,17 @@ public: return map([=](auto x) { return x / scalar; }); } - T x() const { - static_assert(S > 0); - return elements[0]; - } + T& x() { static_assert(S > 0); return elements[0]; } + const T& x() const { static_assert(S > 0); return elements[0]; } - T y() const { - static_assert(S > 1); - return elements[1]; - } + T& y() { static_assert(S > 1); return elements[1]; } + const T& y() const { static_assert(S > 1); return elements[1]; } - T z() const { - static_assert(S > 2); - return elements[2]; - } + T& z() { static_assert(S > 2); return elements[2]; } + const T& z() const { static_assert(S > 2); return elements[2]; } - T w() const { - static_assert(S > 3); - return elements[3]; - } + T& w() { static_assert(S > 3); return elements[3]; } + const T& w() const { static_assert(S > 3); return elements[3]; } std::string string() const { std::stringstream str{}; -- cgit 1.4.1