10 #ifndef hifi_AnimDebugDraw_h
11 #define hifi_AnimDebugDraw_h
15 #include <gpu/Pipeline.h>
16 #include <render/Scene.h>
19 #include "AnimSkeleton.h"
21 class AnimDebugDrawData;
22 typedef render::Payload<AnimDebugDrawData> AnimDebugDrawPayload;
26 static AnimDebugDraw& getInstance();
33 void addAbsolutePoses(
const std::string& key, AnimSkeleton::ConstPointer skeleton,
const AnimPoseVec& poses,
const AnimPose& rootPose,
const glm::vec4& color);
34 void removeAbsolutePoses(
const std::string& key);
39 std::shared_ptr<AnimDebugDrawData> _animDebugDrawData;
40 std::shared_ptr<AnimDebugDrawPayload> _animDebugDrawPayload;
41 render::ItemID _itemID{ render::Item::INVALID_ITEM_ID };
43 static gpu::PipelinePointer _pipeline;
45 typedef std::tuple<AnimSkeleton::ConstPointer, AnimPoseVec, AnimPose, glm::vec4> PosesInfo;
47 typedef std::unordered_map<std::string, PosesInfo> PosesInfoMap;
48 PosesInfoMap _posesInfoMap;
51 AnimDebugDraw(
const AnimDebugDraw&) =
delete;
52 AnimDebugDraw& operator=(
const AnimDebugDraw&) =
delete;