diff --git a/Source/Engine/Debug/DebugDraw.cpp b/Source/Engine/Debug/DebugDraw.cpp index 633f059a7..8f65e609d 100644 --- a/Source/Engine/Debug/DebugDraw.cpp +++ b/Source/Engine/Debug/DebugDraw.cpp @@ -923,16 +923,16 @@ void DebugDraw::DrawActors(Actor** selectedActors, int32 selectedActorsCount, bo } } -void DebugDraw::DrawAxisFromDirection(const Vector3& origin, const Vector3& direction, const Color& color , float Size, float duration, bool depthTest) +void DebugDraw::DrawAxisFromDirection(const Vector3& origin, const Vector3& direction, float size, float duration, bool depthTest) { - auto rot = Quaternion::FromDirection(direction.GetNormalized()); - Vector3 Up = (rot * Vector3::Up ); - Vector3 Forward = (rot * Vector3::Forward); - Vector3 Right = (rot * Vector3::Right ); - - DrawLine(origin, origin + (Up * (Size * 0.5f)) + Up , Color::Green ,duration, depthTest); - DrawLine(origin, origin + (Forward * (Size * 0.5f)) + Forward, Color::Blue ,duration, depthTest); - DrawLine(origin, origin + (Right * (Size * 0.5f)) + Right , Color::Red ,duration, depthTest); + const auto rot = Quaternion::FromDirection(direction.GetNormalized()); + const Vector3 up = (rot * Vector3::Up); + const Vector3 forward = (rot * Vector3::Forward); + const Vector3 right = (rot * Vector3::Right); + const float sizeHalf = size * 0.5f; + DrawLine(origin, origin + up * sizeHalf + up, Color::Green, duration, depthTest); + DrawLine(origin, origin + forward * sizeHalf + forward, Color::Blue, duration, depthTest); + DrawLine(origin, origin + right * sizeHalf + right, Color::Red, duration, depthTest); } void DebugDraw::DrawDirection(const Vector3& origin, const Vector3& direction, const Color& color, float duration, bool depthTest) @@ -942,14 +942,15 @@ void DebugDraw::DrawDirection(const Vector3& origin, const Vector3& direction, c return; DrawLine(origin, origin + direction, color, duration, depthTest); } -void DebugDraw::DrawRay(const Vector3& origin, const Vector3& direction,const Color& color, float length, float duration, bool depthTest) + +void DebugDraw::DrawRay(const Vector3& origin, const Vector3& direction, const Color& color, float length, float duration, bool depthTest) { if (isnan(length) || isinf(length)) return; DrawLine(origin, origin + (direction.GetNormalized() * length), color, duration, depthTest); } -void DebugDraw::DrawRay(const Ray& ray,const Color& color, float length, float duration, bool depthTest) +void DebugDraw::DrawRay(const Ray& ray, const Color& color, float length, float duration, bool depthTest) { if (isnan(length) || isinf(length)) return; diff --git a/Source/Engine/Debug/DebugDraw.h b/Source/Engine/Debug/DebugDraw.h index dd6d5fee3..8d44b81e6 100644 --- a/Source/Engine/Debug/DebugDraw.h +++ b/Source/Engine/Debug/DebugDraw.h @@ -72,11 +72,10 @@ API_CLASS(Static) class FLAXENGINE_API DebugDraw /// /// The origin of the line. /// The direction of the line. - /// The color. - /// The size of the axis. + /// The size of the axis. /// The duration (in seconds). Use 0 to draw it only once. /// If set to true depth test will be performed, otherwise depth will be ignored. - API_FUNCTION() static void DrawAxisFromDirection(const Vector3& origin, const Vector3& direction, const Color& color = Color::White, float Size = 100.0f, float duration = 0.0f, bool depthTest = true); + API_FUNCTION() static void DrawAxisFromDirection(const Vector3& origin, const Vector3& direction, float size = 100.0f, float duration = 0.0f, bool depthTest = true); /// /// Draws the line in a direction. @@ -656,7 +655,7 @@ API_CLASS(Static) class FLAXENGINE_API DebugDraw API_FUNCTION() static void DrawText(const StringView& text, const Transform& transform, const Color& color = Color::White, int32 size = 32, float duration = 0.0f); }; -#define DEBUG_DRAW_AXIS_FROM_DIRECTION(origin, direction, color, size, duration, depthTest) DebugDraw::DrawAxisFromDirection(origin, direction, color, size, duration, depthTest); +#define DEBUG_DRAW_AXIS_FROM_DIRECTION(origin, direction, size, duration, depthTest) DebugDraw::DrawAxisFromDirection(origin, direction, size, duration, depthTest); #define DEBUG_DRAW_DIRECTION(origin, direction, color, duration, depthTest) DebugDraw::DrawDirection(origin, direction, color, duration, depthTest); #define DEBUG_DRAW_RAY(origin, direction, color, length, duration, depthTest) DebugDraw::DrawRay(origin, direction, color, length, duration, depthTest); #define DEBUG_DRAW_RAY(ray, color, length, duration, depthTest) DebugDraw::DrawRay(ray, color, length, duration, depthTest); @@ -689,7 +688,7 @@ API_CLASS(Static) class FLAXENGINE_API DebugDraw #else -#define DEBUG_DRAW_AXIS_FROM_DIRECTION(origin, direction, color, size, duration, depthTest) +#define DEBUG_DRAW_AXIS_FROM_DIRECTION(origin, direction, size, duration, depthTest) #define DEBUG_DRAW_DIRECTION(origin, direction,color,duration, depthTest) #define DEBUG_DRAW_RAY(ray, color, length, duration, depthTest) #define DEBUG_DRAW_LINE(start, end, color, duration, depthTest)