Browse Source

Added missing bitfieldInterleave overload

Christophe Riccio 7 years ago
parent
commit
a772bb3fd1
1 changed files with 25 additions and 0 deletions
  1. 25 0
      glm/gtc/bitfield.inl

+ 25 - 0
glm/gtc/bitfield.inl

@@ -490,6 +490,11 @@ namespace detail
 		return detail::bitfieldInterleave<uint8, uint32>(x, y, z);
 	}
 
+	GLM_FUNC_QUALIFIER uint32 bitfieldInterleave(u8vec3 const& v)
+	{
+		return detail::bitfieldInterleave<uint8, uint32>(v.x, v.y, v.z);
+	}
+
 	GLM_FUNC_QUALIFIER int64 bitfieldInterleave(int16 x, int16 y, int16 z)
 	{
 		union sign16
@@ -517,6 +522,11 @@ namespace detail
 		return detail::bitfieldInterleave<uint32, uint64>(x, y, z);
 	}
 
+	GLM_FUNC_QUALIFIER uint64 bitfieldInterleave(u16vec3 const& v)
+	{
+		return detail::bitfieldInterleave<uint32, uint64>(v.x, v.y, v.z);
+	}
+
 	GLM_FUNC_QUALIFIER int64 bitfieldInterleave(int32 x, int32 y, int32 z)
 	{
 		union sign16
@@ -544,6 +554,11 @@ namespace detail
 		return detail::bitfieldInterleave<uint32, uint64>(x, y, z);
 	}
 
+	GLM_FUNC_QUALIFIER uint64 bitfieldInterleave(u32vec3 const& v)
+	{
+		return detail::bitfieldInterleave<uint32, uint64>(v.x, v.y, v.z);
+	}
+
 	GLM_FUNC_QUALIFIER int32 bitfieldInterleave(int8 x, int8 y, int8 z, int8 w)
 	{
 		union sign8
@@ -572,6 +587,11 @@ namespace detail
 		return detail::bitfieldInterleave<uint8, uint32>(x, y, z, w);
 	}
 
+	GLM_FUNC_QUALIFIER uint64 bitfieldInterleave(u8vec4 const& v)
+	{
+		return detail::bitfieldInterleave<uint32, uint64>(v.x, v.y, v.z, v.w);
+	}
+
 	GLM_FUNC_QUALIFIER int64 bitfieldInterleave(int16 x, int16 y, int16 z, int16 w)
 	{
 		union sign16
@@ -599,4 +619,9 @@ namespace detail
 	{
 		return detail::bitfieldInterleave<uint16, uint64>(x, y, z, w);
 	}
+
+	GLM_FUNC_QUALIFIER uint64 bitfieldInterleave(u16vec4 const& v)
+	{
+		return detail::bitfieldInterleave<uint16, uint64>(v.x, v.y, v.z, v.w);
+	}
 }//namespace glm