FT collision part1: AABB.
This commit is contained in:
1 parent
17f11bd428
commit
2d6f2c14e5
26 files changed
+132
-113
No files matched your search
@@ -123,6 +123,10 @@ void DebugOverlay::DrawOverlay()
|
||||
if (options::Options.DebugOverlayBallDepthGrid)
|
||||
DrawBallDepthSteps();
|
||||
|
||||
// Draw AABB of collision components
|
||||
if (options::Options.DebugOverlayAabb)
|
||||
DrawComponentAabb();
|
||||
|
||||
// Restore render target
|
||||
SDL_SetRenderTarget(winmain::Renderer, initialRenderTarget);
|
||||
SDL_SetRenderDrawColor(winmain::Renderer,
|
||||
@@ -271,6 +275,23 @@ void DebugOverlay::DrawBallDepthSteps()
|
||||
}
|
||||
}
|
||||
|
||||
void DebugOverlay::DrawComponentAabb()
|
||||
{
|
||||
SDL_SetRenderDrawColor(winmain::Renderer, 0, 50, 200, 255);
|
||||
for (auto cmp : pb::MainTable->ComponentList)
|
||||
{
|
||||
auto collCmp = dynamic_cast<TCollisionComponent*>(cmp);
|
||||
if (collCmp)
|
||||
{
|
||||
const auto& aabb = collCmp->AABB;
|
||||
auto pt1 = proj::xform_to_2d(vector2{ aabb.XMax, aabb.YMax });
|
||||
auto pt2 = proj::xform_to_2d(vector2{ aabb.XMin, aabb.YMin });
|
||||
SDL_Rect rect{ pt2.X,pt2.Y, pt1.X - pt2.X , pt1.Y - pt2.Y };
|
||||
SDL_RenderDrawRect(winmain::Renderer, &rect);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DebugOverlay::DrawCicleType(circle_type& circle)
|
||||
{
|
||||
vector2 linePt{ circle.Center.X + sqrt(circle.RadiusSq), circle.Center.Y };
|
||||
|
||||
Reference in new issue
Block a user