Graphics: Make use of shader binding sets
This commit is contained in:
@@ -27,6 +27,7 @@ namespace Nz
|
||||
template<typename T> constexpr T Approach(T value, T objective, T increment);
|
||||
template<typename T> constexpr T Clamp(T value, T min, T max);
|
||||
template<typename T, AngleUnit Unit> constexpr Angle<Unit, T> Clamp(Angle<Unit, T> value, T min, T max);
|
||||
template<typename T> T ClearBit(T number, T bit);
|
||||
template<typename T> constexpr std::size_t CountBits(T value);
|
||||
template<typename T> constexpr T DegreeToRadian(T degrees);
|
||||
template<typename T> constexpr T GetNearestPowerOfTwo(T number);
|
||||
@@ -51,6 +52,7 @@ namespace Nz
|
||||
template<typename T> T SetBit(T number, T bit);
|
||||
inline long long StringToNumber(const std::string_view& str, UInt8 radix = 10, bool* ok = nullptr);
|
||||
template<typename T> bool TestBit(T number, T bit);
|
||||
template<typename T> T ToggleBit(T number, T bit);
|
||||
}
|
||||
|
||||
#include <Nazara/Math/Algorithm.inl>
|
||||
|
||||
@@ -172,6 +172,13 @@ namespace Nz
|
||||
return std::max(std::min(value.value, max), min);
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
T ClearBit(T number, T bit)
|
||||
{
|
||||
NazaraAssert(bit < sizeof(number) * CHAR_BIT, "bit index out of range");
|
||||
return number &= ~(T(1) << bit);
|
||||
}
|
||||
|
||||
/*!
|
||||
* \ingroup math
|
||||
* \brief Gets number of bits set in the number
|
||||
@@ -584,7 +591,7 @@ namespace Nz
|
||||
template<typename T>
|
||||
T SetBit(T number, T bit)
|
||||
{
|
||||
NazaraAssert(bit < sizeof(number)* CHAR_BIT, "bit index out of range");
|
||||
NazaraAssert(bit < sizeof(number) * CHAR_BIT, "bit index out of range");
|
||||
return number |= (T(1) << bit);
|
||||
}
|
||||
|
||||
@@ -659,7 +666,13 @@ namespace Nz
|
||||
NazaraAssert(bit < sizeof(number) * CHAR_BIT, "bit index out of range");
|
||||
return number & (T(1) << bit);
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
T ToggleBit(T number, T bit)
|
||||
{
|
||||
NazaraAssert(bit < sizeof(number) * CHAR_BIT, "bit index out of range");
|
||||
return number ^= (T(1) << bit);
|
||||
}
|
||||
}
|
||||
|
||||
#include <Nazara/Core/DebugOff.hpp>
|
||||
#include "Algorithm.hpp"
|
||||
|
||||
Reference in New Issue
Block a user