修改SceneRenderer 的存储的世界矩阵存储方式
This commit is contained in:
@@ -131,9 +131,11 @@ namespace Engine {
|
||||
glm::mat4 m_LastView{1.0f}; // 上一帧视图(velocity)
|
||||
glm::mat4 m_LastProjNoJitter{1.0f}; // 上一帧未抖动投影(velocity)
|
||||
// 实体的上一帧世界矩阵(key = entt 实体 integral)。
|
||||
// 每帧重建 m_CurWorlds 后与 m_PrevWorlds swap——自动清理销毁实体
|
||||
std::unordered_map<u32, glm::mat4> m_PrevWorlds;
|
||||
std::unordered_map<u32, glm::mat4> m_CurWorlds;
|
||||
// 用 sorted vector + binary_search 替代 unordered_map:
|
||||
// unordered_map 在每帧大量 emplace 时 rehash 抖动明显,
|
||||
// vector 连续内存 + 单次 sort 对 cache 友好且无 rehash
|
||||
std::vector<std::pair<u32, glm::mat4>> m_PrevWorlds;
|
||||
std::vector<std::pair<u32, glm::mat4>> m_CurWorlds;
|
||||
|
||||
// ---- 骨骼动画 scratch(帧首重建/容量复用)----
|
||||
// entKey → palette 区段基址(第 2.5 节预采样填,收集段查)
|
||||
|
||||
Reference in New Issue
Block a user