From 31cd186cb7ddecb42db27cf1aa3c55166ba13e02 Mon Sep 17 00:00:00 2001 From: gered Date: Sun, 18 Aug 2013 20:11:04 -0400 Subject: [PATCH] add GraphicHelpers --- .../Graphics/Helpers/GraphicsHelpers.cs | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Blarg.GameFramework/Graphics/Helpers/GraphicsHelpers.cs diff --git a/Blarg.GameFramework/Graphics/Helpers/GraphicsHelpers.cs b/Blarg.GameFramework/Graphics/Helpers/GraphicsHelpers.cs new file mode 100644 index 0000000..783a49d --- /dev/null +++ b/Blarg.GameFramework/Graphics/Helpers/GraphicsHelpers.cs @@ -0,0 +1,45 @@ +using System; + +namespace Blarg.GameFramework.Graphics.Helpers +{ + public static class GraphicsHelpers + { + public static void RenderCoordinateAxis(GeometryDebugRenderer debugRenderer, SpriteBatch spriteBatch, Vector3 origin, float axisLength) + { + var font = Platform.GraphicsDevice.SansSerifFont; + + var upLine = new LineSegment(origin.X, origin.Y, origin.Z, origin.X + 0.0f, origin.Y + axisLength, origin.Z + 0.0f); + var downLine = new LineSegment(origin.X, origin.Y, origin.Z, origin.X + 0.0f, origin.Y + -axisLength, origin.Z + 0.0f); + var leftLine = new LineSegment(origin.X, origin.Y, origin.Z, origin.X + -axisLength, origin.Y + 0.0f, origin.Z + 0.0f); + var rightLine = new LineSegment(origin.X, origin.Y, origin.Z, origin.X + axisLength, origin.Y + 0.0f, origin.Z + 0.0f); + var forwardLine = new LineSegment(origin.X, origin.Y, origin.Z, origin.X + 0.0f, origin.Y + 0.0f, origin.Z + -axisLength); + var backwardLine = new LineSegment(origin.X, origin.Y, origin.Z, origin.X + 0.0f, origin.Y + 0.0f, origin.Z + axisLength); + + var upPos = new Vector3(origin.X, origin.Y + axisLength, origin.Z); + var downPos = new Vector3(origin.X, origin.Y - axisLength, origin.Z); + var leftPos = new Vector3(origin.X - axisLength, origin.Y, origin.Z); + var rightPos = new Vector3(origin.X + axisLength, origin.Y, origin.Z); + var forwardPos = new Vector3(origin.X, origin.Y, origin.Z - axisLength); + var backwardPos = new Vector3(origin.X, origin.Y, origin.Z + axisLength); + + debugRenderer.Render(upLine, Color.White); + spriteBatch.Render(font, upPos, Color.White, "UP (+Y)"); + + debugRenderer.Render(downLine, Color.Black); + spriteBatch.Render(font, downPos, Color.Black, "DOWN (-Y)"); + + debugRenderer.Render(leftLine, Color.Green); + spriteBatch.Render(font, leftPos, Color.Green, "LEFT (-X)"); + + debugRenderer.Render(rightLine, Color.Red); + spriteBatch.Render(font, rightPos, Color.Red, "RIGHT (+X)"); + + debugRenderer.Render(forwardLine, Color.Cyan); + spriteBatch.Render(font, forwardPos, Color.Cyan, "FORWARD (-Z)"); + + debugRenderer.Render(backwardLine, Color.Yellow); + spriteBatch.Render(font, backwardPos, Color.Yellow, "BACKWARD (+Z)"); + } + } +} +