Fixed bug where cache doesnt get updated at times
This commit is contained in:
parent
c21d3e0595
commit
d350ead7b3
2 changed files with 8 additions and 1 deletions
|
|
@ -174,6 +174,11 @@ namespace SCollision {
|
|||
}
|
||||
};
|
||||
|
||||
template <typename T> std::ostream& operator<<(std::ostream& os, const AABB<T>& a) {
|
||||
return os << "min: [" << a.min.x() << " " << a.min.y() << "]\n"
|
||||
<< "max: [" << a.max.x() << " " << a.max.y() << "]\n";
|
||||
}
|
||||
|
||||
template <typename T> const AABB<T>& get_bounds(const Circle<T>& c) { return c.bounds; }
|
||||
template <typename T> const AABB<T>& get_bounds(const Triangle<T>& c) { return c.bounds; }
|
||||
template <typename T> const AABB<T>& get_bounds(const AABB<T>& a) { return a; }
|
||||
|
|
|
|||
|
|
@ -356,7 +356,9 @@ void DrawingProgramCache::refresh_draw_cache(const std::shared_ptr<DrawingProgra
|
|||
cacheCanvas->save();
|
||||
cacheCanvas->clipIRect(clipRect);
|
||||
cacheCanvas->clear(SkColor4f{0, 0, 0, 0});
|
||||
draw_components_to_canvas(cacheCanvas, cacheDrawData, &drawCache.lastDrawnComponentPlacement, clipRectBoundAABBWorld);
|
||||
uint64_t lastDrawnComponentPlacementNew = 0;
|
||||
draw_components_to_canvas(cacheCanvas, cacheDrawData, &lastDrawnComponentPlacementNew, clipRectBoundAABBWorld);
|
||||
drawCache.lastDrawnComponentPlacement = std::max(lastDrawnComponentPlacementNew, drawCache.lastDrawnComponentPlacement);
|
||||
cacheCanvas->restore();
|
||||
drawCache.invalidBounds = std::nullopt;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue