//-------------------------------------------------------------------------------------- // File: DebugDraw.h // // Helpers for drawing various debug shapes using PrimitiveBatch // // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. //------------------------------------------------------------------------------------- #pragma once #include #include #include "PrimitiveBatch.h" #include "VertexTypes.h" namespace DX { void XM_CALLCONV Draw(DirectX::PrimitiveBatch* batch, const DirectX::BoundingSphere& sphere, DirectX::FXMVECTOR color = DirectX::Colors::White); void XM_CALLCONV Draw(DirectX::PrimitiveBatch* batch, const DirectX::BoundingBox& box, DirectX::FXMVECTOR color = DirectX::Colors::White); void XM_CALLCONV Draw(DirectX::PrimitiveBatch* batch, const DirectX::BoundingOrientedBox& obb, DirectX::FXMVECTOR color = DirectX::Colors::White); void XM_CALLCONV Draw(DirectX::PrimitiveBatch* batch, const DirectX::BoundingFrustum& frustum, DirectX::FXMVECTOR color = DirectX::Colors::White); void XM_CALLCONV DrawGrid(DirectX::PrimitiveBatch* batch, DirectX::FXMVECTOR xAxis, DirectX::FXMVECTOR yAxis, DirectX::FXMVECTOR origin, size_t xdivs, size_t ydivs, DirectX::GXMVECTOR color = DirectX::Colors::White); void XM_CALLCONV DrawRing(DirectX::PrimitiveBatch* batch, DirectX::FXMVECTOR origin, DirectX::FXMVECTOR majorAxis, DirectX::FXMVECTOR minorAxis, DirectX::GXMVECTOR color = DirectX::Colors::White); void XM_CALLCONV DrawRay(DirectX::PrimitiveBatch* batch, DirectX::FXMVECTOR origin, DirectX::FXMVECTOR direction, bool normalize = true, DirectX::FXMVECTOR color = DirectX::Colors::White); void XM_CALLCONV DrawTriangle(DirectX::PrimitiveBatch* batch, DirectX::FXMVECTOR pointA, DirectX::FXMVECTOR pointB, DirectX::FXMVECTOR pointC, DirectX::GXMVECTOR color = DirectX::Colors::White); void XM_CALLCONV DrawQuad(DirectX::PrimitiveBatch* batch, DirectX::FXMVECTOR pointA, DirectX::FXMVECTOR pointB, DirectX::FXMVECTOR pointC, DirectX::GXMVECTOR pointD, DirectX::HXMVECTOR color = DirectX::Colors::White); }