diff options
| author | Adrian Ulbrich <adrian.ulbrich.2003@gmail.com> | 2019-11-04 00:36:44 +0100 |
|---|---|---|
| committer | Adrian Ulbrich <adrian.ulbrich.2003@gmail.com> | 2019-11-04 00:36:44 +0100 |
| commit | 5d4b4023bddd12e27c6756793aea2ff36d49e124 (patch) | |
| tree | 7d66eac7b7b2d7ffe647aa8a34bc544fd770a23b /Unicity.Renderer/GraphicsRenderer.cs | |
| parent | 0fec6725547868de242aaf9035eedf99f7be3233 (diff) | |
| download | Unicity-5d4b4023bddd12e27c6756793aea2ff36d49e124.tar.gz Unicity-5d4b4023bddd12e27c6756793aea2ff36d49e124.tar.bz2 Unicity-5d4b4023bddd12e27c6756793aea2ff36d49e124.zip | |
Upload code
Diffstat (limited to 'Unicity.Renderer/GraphicsRenderer.cs')
| -rw-r--r-- | Unicity.Renderer/GraphicsRenderer.cs | 63 |
1 files changed, 63 insertions, 0 deletions
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); + } + } +} |
