From b5117ca8b2f5465dbbf16ed725e919809504ee30 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Tue, 28 May 2024 12:36:03 +0300 Subject: [PATCH] Support quaternions in gltf::accessor_iterator --- .../include/psemek/gfx/gltf_accessor_iterator.hpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/libs/gfx/include/psemek/gfx/gltf_accessor_iterator.hpp b/libs/gfx/include/psemek/gfx/gltf_accessor_iterator.hpp index 5c200427..24579d5a 100644 --- a/libs/gfx/include/psemek/gfx/gltf_accessor_iterator.hpp +++ b/libs/gfx/include/psemek/gfx/gltf_accessor_iterator.hpp @@ -61,6 +61,19 @@ namespace psemek::gfx } }; + template + struct accessor_traits> + { + static constexpr bool is_floating_point = accessor_traits::is_floating_point; + static constexpr std::size_t components = 4; + using component_type = T; + + static auto pointer(geom::quaternion & value) + { + return &value[0]; + } + }; + template void safe_cast(gltf_asset::accessor::component_type_t type, bool normalized, T & dst, char const * src) {