From 0999ba5591f1114db811e7133bdd41b0247eacd2 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sat, 18 May 2024 17:23:01 +0200 Subject: [PATCH] SkinRenderer - Update debug line rendering --- PCK-Studio/Rendering/ColorVertex.cs | 2 ++ PCK-Studio/Rendering/SkinRenderer.cs | 22 ++++++++++------------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/PCK-Studio/Rendering/ColorVertex.cs b/PCK-Studio/Rendering/ColorVertex.cs index 7ad41069..0280a908 100644 --- a/PCK-Studio/Rendering/ColorVertex.cs +++ b/PCK-Studio/Rendering/ColorVertex.cs @@ -23,6 +23,8 @@ namespace PckStudio.Rendering { } + public static implicit operator ColorVertex(Vector3 vector3) => new ColorVertex(vector3); + public Vector3 Position { get; set; } public Color4 Color { get; set; } } diff --git a/PCK-Studio/Rendering/SkinRenderer.cs b/PCK-Studio/Rendering/SkinRenderer.cs index a7377360..e6921fb5 100644 --- a/PCK-Studio/Rendering/SkinRenderer.cs +++ b/PCK-Studio/Rendering/SkinRenderer.cs @@ -1409,20 +1409,18 @@ namespace PckStudio.Rendering Renderer.SetLineWidth(2f); - colorShader.SetUniform4("baseColor", Color.Red); - ColorVertex[] line = [new ColorVertex(Vector3.Zero), new ColorVertex(Vector3.UnitX)]; - d_debugLineDrawContext.VertexArray.GetBuffer(0).SetData(line); - Renderer.Draw(colorShader, d_debugLineDrawContext); + VertexBuffer lineVertexBuffer = d_debugLineDrawContext.VertexArray.GetBuffer(0); - colorShader.SetUniform4("baseColor", Color.Green); - line = [new ColorVertex(Vector3.Zero), new ColorVertex(Vector3.UnitY)]; - d_debugLineDrawContext.VertexArray.GetBuffer(0).SetData(line); - Renderer.Draw(colorShader, d_debugLineDrawContext); + void DrawLine(Color color, params ColorVertex[] positions) + { + colorShader.SetUniform4("baseColor", color); + lineVertexBuffer.SetData(positions); + Renderer.Draw(colorShader, d_debugLineDrawContext); + }; - colorShader.SetUniform4("baseColor", Color.Blue); - line = [new ColorVertex(Vector3.Zero), new ColorVertex(Vector3.UnitZ)]; - d_debugLineDrawContext.VertexArray.GetBuffer(0).SetData(line); - Renderer.Draw(colorShader, d_debugLineDrawContext); + DrawLine(Color.Red, Vector3.Zero, Vector3.UnitX); + DrawLine(Color.Green, Vector3.Zero, Vector3.UnitY); + DrawLine(Color.Blue, Vector3.Zero, Vector3.UnitZ); Renderer.SetLineWidth(1f);