存储和访问动画的关键帧

时间:2014-03-12 20:40:35

标签: c++ animation store keyframe

我想用c ++创建一个动画系统,我存储了具有时间和值的关键帧。这些值应在播放期间进行插值,因此我需要按时间变量进行排序。因为在插值时,我总是希望仅在最后一个和下一个关键帧之间进行插值(通常如何进行插值)。

如何存储关键帧,以便在特定时间之前和之后轻松(和快速)访问关键帧?

起初我想到了std :: map,但是我对关键帧的正确顺序有疑问......有什么想法如何做得更好?

1 个答案:

答案 0 :(得分:1)

您可以使用std :: vector并保持关键帧的正确顺序。 假设关键帧在向量中按时间排序,则可以提取 在对数时间内具有std::lower_boundstd::binary_search的相关关键帧。

std::map在内部保持元素按键排序 遵循严格的弱订购标准。所以,如果你用时间作为关键,那么你 将保持关键帧的正确顺序。

就个人而言,我会使用std :: vector。