Eliminating some differences from the cubiquity-version branch.
This commit is contained in:
		| @@ -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) | ||||
| 	{ | ||||
|   | ||||
| @@ -365,7 +365,7 @@ namespace PolyVox | ||||
| 	void SurfaceMesh<VertexType>::removeUnusedVertices(void) | ||||
| 	{ | ||||
| 		std::vector<bool> isVertexUsed(m_vecVertices.size()); | ||||
| 		fill(isVertexUsed.begin(), isVertexUsed.end(), false); | ||||
| 		std::fill(isVertexUsed.begin(), isVertexUsed.end(), false); | ||||
|  | ||||
| 		for(uint32_t triCt = 0; triCt < m_vecTriangleIndices.size(); triCt++) | ||||
| 		{ | ||||
|   | ||||
| @@ -653,7 +653,10 @@ namespace PolyVox | ||||
| 	inline void Vector<Size, StorageType, OperationType>::normalise(void) | ||||
|     { | ||||
|         float fLength = this->length(); | ||||
| 		if(fLength <= 0.0) | ||||
|  | ||||
| 		// We could wait until the NAN occurs before throwing, but then we'd have to add some roll-back code. | ||||
| 		// This seems like a lot of overhead for a common operation which should rarely go wrong. | ||||
| 		if(fLength <= 0.0001) | ||||
| 		{ | ||||
| 			POLYVOX_THROW(invalid_operation, "Cannot normalise a vector with a length of zero"); | ||||
| 		} | ||||
|   | ||||
| @@ -56,4 +56,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; | ||||
| 	} | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user