/*public static void DrawLine(Location from, Location to, Color color) * { * var vertices = new PositionColored[2]; * vertices[0] = new PositionColored(Vector3.Zero, color.ToArgb()); * vertices[1] = new PositionColored(to.ToVector3() - from.ToVector3(), color.ToArgb()); * * InternalRender(from.ToVector3()); * * Device.DrawUserPrimitives(PrimitiveType.LineList, vertices.Length / 2, vertices); * }*/ public static void DrawLine(Location from, Location to, Color color) { try { int col = Color.FromArgb(255, color).ToArgb(); PositionColored[] data = new PositionColored[] { new PositionColored(Vector3.Zero, col), new PositionColored(to.ToVector3() - from.ToVector3(), col) }; InternalRender(from.ToVector3()); Device.DrawUserPrimitives <PositionColored>(PrimitiveType.LineList, data.Length / 2, data); } catch { } }
public static void DrawBox(Location position, float heading, float width, float height, Color color, int alpha) { try { //This is "Borrowed" code ;) int col = Color.FromArgb(alpha, color).ToArgb(); PositionColored[] data = new PositionColored[] { new PositionColored(width / 2f, width / 2f, 0f, col), new PositionColored(-(width / 2f), width / 2f, 0f, col), new PositionColored(width / 2f, -(width / 2f), 0f, col), new PositionColored(-(width / 2f), -(width / 2f), 0f, col), new PositionColored(-(width / 2f), width / 2f, 0f, col), new PositionColored(width / 2f, -(width / 2f), 0f, col), new PositionColored(width / 2f, width / 2f, 0f, col), new PositionColored(-(width / 2f), width / 2f, 0f, col), new PositionColored(width / 2f, width / 2f, height, col), new PositionColored(width / 2f, width / 2f, height, col), new PositionColored(-(width / 2f), width / 2f, 0f, col), new PositionColored(-(width / 2f), width / 2f, height, col), new PositionColored(-(width / 2f), -(width / 2f), 0f, col), new PositionColored(-(width / 2f), width / 2f, 0f, col), new PositionColored(-(width / 2f), width / 2f, height, col), new PositionColored(-(width / 2f), -(width / 2f), height, col), new PositionColored(-(width / 2f), -(width / 2f), 0f, col), new PositionColored(-(width / 2f), width / 2f, height, col), new PositionColored(width / 2f, width / 2f, 0f, col), new PositionColored(width / 2f, -(width / 2f), 0f, col), new PositionColored(width / 2f, -(width / 2f), height, col), new PositionColored(width / 2f, width / 2f, 0f, col), new PositionColored(width / 2f, width / 2f, height, col), new PositionColored(width / 2f, -(width / 2f), height, col), new PositionColored(width / 2f, -(width / 2f), 0f, col), new PositionColored(-(width / 2f), -(width / 2f), 0f, col), new PositionColored(width / 2f, -(width / 2f), height, col), new PositionColored(-(width / 2f), -(width / 2f), 0f, col), new PositionColored(-(width / 2f), -(width / 2f), height, col), new PositionColored(width / 2f, -(width / 2f), height, col), new PositionColored(width / 2f, width / 2f, height, col), new PositionColored(-(width / 2f), width / 2f, height, col), new PositionColored(width / 2f, -(width / 2f), height, col), new PositionColored(-(width / 2f), -(width / 2f), height, col), new PositionColored(-(width / 2f), width / 2f, height, col), new PositionColored(width / 2f, -(width / 2f), height, col) }; InternalRender(position.ToVector3()); Device.DrawUserPrimitives <PositionColored>(PrimitiveType.TriangleList, 12, data); data = null; } catch { } }