From 573eb0dc44da073462e24f15a253a51a4013ee58 Mon Sep 17 00:00:00 2001 From: Adrian Ulbrich Date: Sat, 9 Nov 2019 02:44:29 +0100 Subject: Added support for colored triangles --- Unicity.Renderer/GraphicsRenderer.cs | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'Unicity.Renderer/GraphicsRenderer.cs') diff --git a/Unicity.Renderer/GraphicsRenderer.cs b/Unicity.Renderer/GraphicsRenderer.cs index 1df8bfb..513439e 100644 --- a/Unicity.Renderer/GraphicsRenderer.cs +++ b/Unicity.Renderer/GraphicsRenderer.cs @@ -57,6 +57,23 @@ namespace Unicity.Renderer } } + for (int i = 0; i < shapes.Length; i++) + { + if (typeof(Triangle) == shapes[i].GetType()) + { + Vector3 color = ((Triangle)shapes[i]).Color; + triangleVerts.Add(color.X); + triangleVerts.Add(color.Y); + triangleVerts.Add(color.Z); + triangleVerts.Add(color.X); + triangleVerts.Add(color.Y); + triangleVerts.Add(color.Z); + triangleVerts.Add(color.X); + triangleVerts.Add(color.Y); + triangleVerts.Add(color.Z); + } + } + if (triangleVAO != -1) { GL.DeleteVertexArray(triangleVAO); @@ -67,9 +84,11 @@ namespace Unicity.Renderer GL.DeleteBuffer(triangleVBO); } + foreach (float v in triangleVerts) System.Console.WriteLine(v); + triangleVAO = GL.GenVertexArray(); triangleVBO = GL.GenBuffer(); - + GL.BindVertexArray(triangleVAO); GL.BindBuffer(BufferTarget.ArrayBuffer, triangleVBO); GL.BufferData(BufferTarget.ArrayBuffer, triangleVerts.Count * sizeof(float), triangleVerts.ToArray(), BufferUsageHint.DynamicDraw); @@ -77,6 +96,9 @@ namespace Unicity.Renderer GL.VertexAttribPointer(0, 3, VertexAttribPointerType.Float, false, 3 * sizeof(float), 0); GL.EnableVertexAttribArray(0); + GL.VertexAttribPointer(1, 3, VertexAttribPointerType.Float, false, 3 * sizeof(float), triangleVerts.Count / 2 * sizeof(float)); + GL.EnableVertexAttribArray(1); + GL.BindBuffer(BufferTarget.ArrayBuffer, 0); GL.BindVertexArray(0); } -- cgit v1.2.3