From 7f4d8c38c94f287de0063bd3b903726b2855ba4d Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Sun, 11 Oct 2015 21:20:37 +0200 Subject: [PATCH] Fixed (un)packHalf --- glm/gtc/packing.inl | 26 ++++++++++++++------------ readme.md | 3 ++- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/glm/gtc/packing.inl b/glm/gtc/packing.inl index 30ecade5..5e71ef48 100644 --- a/glm/gtc/packing.inl +++ b/glm/gtc/packing.inl @@ -270,8 +270,8 @@ namespace detail { GLM_FUNC_QUALIFIER static tvec1 pack(tvec1 const & v) { - int16 const Topack(detail::toFloat16(v.x)); - return tvec1(reinterpret_cast(Topack)); + int16 const Unpacked(detail::toFloat16(v.x)); + return tvec1(reinterpret_cast(Unpacked)); } GLM_FUNC_QUALIFIER static tvec1 unpack(tvec1 const & v) @@ -285,9 +285,10 @@ namespace detail { GLM_FUNC_QUALIFIER static tvec2 pack(tvec2 const & v) { + tvec2 const Unpacked(detail::toFloat16(v.x), detail::toFloat16(v.y)); return tvec2( - reinterpret_cast(detail::toFloat16(v.x)), - reinterpret_cast(detail::toFloat16(v.x))); + reinterpret_cast(Unpacked.x), + reinterpret_cast(Unpacked.y)); } GLM_FUNC_QUALIFIER static tvec2 unpack(tvec2 const & v) @@ -303,10 +304,11 @@ namespace detail { GLM_FUNC_QUALIFIER static tvec3 pack(tvec3 const & v) { + tvec3 const Unpacked(detail::toFloat16(v.x), detail::toFloat16(v.y), detail::toFloat16(v.z)); return tvec3( - reinterpret_cast(detail::toFloat16(v.x)), - reinterpret_cast(detail::toFloat16(v.y)), - reinterpret_cast(detail::toFloat16(v.z))); + reinterpret_cast(Unpacked.x), + reinterpret_cast(Unpacked.y), + reinterpret_cast(Unpacked.z)); } GLM_FUNC_QUALIFIER static tvec3 unpack(tvec3 const & v) @@ -323,12 +325,12 @@ namespace detail { GLM_FUNC_QUALIFIER static tvec4 pack(tvec4 const & v) { - tvec4 unpacked(detail::toFloat16(v.x), detail::toFloat16(v.y), detail::toFloat16(v.z), detail::toFloat16(v.w)); + tvec4 const Unpacked(detail::toFloat16(v.x), detail::toFloat16(v.y), detail::toFloat16(v.z), detail::toFloat16(v.w)); return tvec4( - reinterpret_cast(unpacked.x), - reinterpret_cast(unpacked.y), - reinterpret_cast(unpacked.z), - reinterpret_cast(unpacked.w)); + reinterpret_cast(Unpacked.x), + reinterpret_cast(Unpacked.y), + reinterpret_cast(Unpacked.z), + reinterpret_cast(Unpacked.w)); } GLM_FUNC_QUALIFIER static tvec4 unpack(tvec4 const & v) diff --git a/readme.md b/readme.md index 1bb3505e..f071908d 100644 --- a/readme.md +++ b/readme.md @@ -55,7 +55,8 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate) ##### Features: - Added compNormalize and compScale functions to GTX_component_wise - Added packF3x9_E1x5 and unpackF3x9_E1x5 to GTC_packing for RGB9E5 #416 -- Added packHalf and unpackHalf to GTC_packing +- Added (un)packHalf to GTC_packing +- Added (un)packUnorm and (un)packSnorm to GTC_packing ##### Improvements: - Improved GTC_random linearRand documentation