Added 'upperPowerOfTwo' function.
This commit is contained in:
parent
bf5a9f7ab8
commit
575f4824cc
@ -37,6 +37,7 @@ namespace PolyVox
|
||||
int32_t roundToInteger(float r);
|
||||
template <typename Type>
|
||||
Type clamp(const Type& value, const Type& low, const Type& high);
|
||||
uint32_t upperPowerOfTwo(uint32_t v);
|
||||
|
||||
inline int32_t roundTowardsNegInf(float r)
|
||||
{
|
||||
|
@ -60,4 +60,17 @@ namespace PolyVox
|
||||
else
|
||||
return ((uInput & (uInput-1)) == 0);
|
||||
}
|
||||
|
||||
// http://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2
|
||||
uint32_t upperPowerOfTwo(uint32_t v)
|
||||
{
|
||||
v--;
|
||||
v |= v >> 1;
|
||||
v |= v >> 2;
|
||||
v |= v >> 4;
|
||||
v |= v >> 8;
|
||||
v |= v >> 16;
|
||||
v++;
|
||||
return v;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user