From 5d4b4023bddd12e27c6756793aea2ff36d49e124 Mon Sep 17 00:00:00 2001 From: Adrian Ulbrich Date: Mon, 4 Nov 2019 00:36:44 +0100 Subject: Upload code --- Unicity.Renderer/GraphicsRenderer.cs | 63 ++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 Unicity.Renderer/GraphicsRenderer.cs (limited to 'Unicity.Renderer/GraphicsRenderer.cs') diff --git a/Unicity.Renderer/GraphicsRenderer.cs b/Unicity.Renderer/GraphicsRenderer.cs new file mode 100644 index 0000000..f417e14 --- /dev/null +++ b/Unicity.Renderer/GraphicsRenderer.cs @@ -0,0 +1,63 @@ +using GLFW; +using SharpGL; +using System; +using Unicity.Renderer.Shapes; +using static SharpGL.OpenGL; + +namespace Unicity.Renderer +{ + public class GraphicsRenderer : IDisposable + { + internal static OpenGL GL = new OpenGL(); + + public RenderWindow window { get; } + + public GraphicsRenderer(RenderWindow window) + { + this.window = window; + } + + public void SetClearColor(float red, float green, float blue, float alpha) + { + GL.ClearColor(red, green, blue, alpha); + } + + public void ClearScreen() + { + Glfw.MakeContextCurrent(window.window); + GL.Clear(GL_COLOR_BUFFER_BIT); + } + + public void RenderShape(Shape shape) + { + shape.Render(); + } + + bool disposed = false; + protected virtual void Dispose(bool disposing) + { + // Return of already disposed + if (disposed) + { + return; + } + + if (disposing) + { + // Free managed objects here + } + + // Dispose of any unmanaged resources + window?.Dispose(); + + // Set disposed flag to true + disposed = true; + } + + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + } +} -- cgit v1.2.3