diff --git a/glm/gtc/bitfield.inl b/glm/gtc/bitfield.inl index 0ccafb33..2a5c3d79 100644 --- a/glm/gtc/bitfield.inl +++ b/glm/gtc/bitfield.inl @@ -490,6 +490,11 @@ namespace detail return detail::bitfieldInterleave(x, y, z); } + GLM_FUNC_QUALIFIER uint32 bitfieldInterleave(u8vec3 const& v) + { + return detail::bitfieldInterleave(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(x, y, z); } + GLM_FUNC_QUALIFIER uint64 bitfieldInterleave(u16vec3 const& v) + { + return detail::bitfieldInterleave(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(x, y, z); } + GLM_FUNC_QUALIFIER uint64 bitfieldInterleave(u32vec3 const& v) + { + return detail::bitfieldInterleave(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(x, y, z, w); } + GLM_FUNC_QUALIFIER uint64 bitfieldInterleave(u8vec4 const& v) + { + return detail::bitfieldInterleave(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(x, y, z, w); } + + GLM_FUNC_QUALIFIER uint64 bitfieldInterleave(u16vec4 const& v) + { + return detail::bitfieldInterleave(v.x, v.y, v.z, v.w); + } }//namespace glm