From bdba48b208c5f386ab204b4a2c1f0b67a0c1931b Mon Sep 17 00:00:00 2001 From: Salman Ahmed Date: Thu, 25 Aug 2022 18:35:38 +0300 Subject: [PATCH 1/4] Add `OpenGL` prefix to remaining OpenGL-specific renderer classes --- .../{LinearBatch.cs => OpenGLLinearBatch.cs} | 6 ++--- .../{QuadBatch.cs => OpenGLQuadBatch.cs} | 6 ++--- .../{VertexBatch.cs => OpenGLVertexBatch.cs} | 18 ++++++------- ...VertexBuffer.cs => IOpenGLVertexBuffer.cs} | 10 ++++---- ...ons.cs => OpenGLBufferFormatExtensions.cs} | 2 +- .../{FrameBuffer.cs => OpenGLFrameBuffer.cs} | 10 ++++---- ...rVertexBuffer.cs => OpenGLLinearBuffer.cs} | 16 ++++++------ ...uadVertexBuffer.cs => OpenGLQuadBuffer.cs} | 16 ++++++------ ...{RenderBuffer.cs => OpenGLRenderBuffer.cs} | 6 ++--- ...{VertexBuffer.cs => OpenGLVertexBuffer.cs} | 22 ++++++++-------- .../{VertexUtils.cs => OpenGLVertexUtils.cs} | 6 ++--- .../Graphics/OpenGL/OpenGLRenderer.cs | 25 +++++++++---------- .../Textures/VideoTextureGL.cs} | 13 +++++----- osu.Framework/Graphics/Rendering/IRenderer.cs | 2 +- .../Graphics/Rendering/RendererExtensions.cs | 4 +-- 15 files changed, 80 insertions(+), 82 deletions(-) rename osu.Framework/Graphics/OpenGL/Batches/{LinearBatch.cs => OpenGLLinearBatch.cs} (62%) rename osu.Framework/Graphics/OpenGL/Batches/{QuadBatch.cs => OpenGLQuadBatch.cs} (61%) rename osu.Framework/Graphics/OpenGL/Batches/{VertexBatch.cs => OpenGLVertexBatch.cs} (83%) rename osu.Framework/Graphics/OpenGL/Buffers/{IVertexBuffer.cs => IOpenGLVertexBuffer.cs} (62%) rename osu.Framework/Graphics/OpenGL/Buffers/{BufferFormatExtensions.cs => OpenGLBufferFormatExtensions.cs} (99%) rename osu.Framework/Graphics/OpenGL/Buffers/{FrameBuffer.cs => OpenGLFrameBuffer.cs} (91%) rename osu.Framework/Graphics/OpenGL/Buffers/{LinearVertexBuffer.cs => OpenGLLinearBuffer.cs} (80%) rename osu.Framework/Graphics/OpenGL/Buffers/{QuadVertexBuffer.cs => OpenGLQuadBuffer.cs} (85%) rename osu.Framework/Graphics/OpenGL/Buffers/{RenderBuffer.cs => OpenGLRenderBuffer.cs} (95%) rename osu.Framework/Graphics/OpenGL/Buffers/{VertexBuffer.cs => OpenGLVertexBuffer.cs} (87%) rename osu.Framework/Graphics/OpenGL/Buffers/{VertexUtils.cs => OpenGLVertexUtils.cs} (96%) rename osu.Framework/Graphics/{Video/VideoTexture.cs => OpenGL/Textures/VideoTextureGL.cs} (92%) diff --git a/osu.Framework/Graphics/OpenGL/Batches/LinearBatch.cs b/osu.Framework/Graphics/OpenGL/Batches/OpenGLLinearBatch.cs similarity index 62% rename from osu.Framework/Graphics/OpenGL/Batches/LinearBatch.cs rename to osu.Framework/Graphics/OpenGL/Batches/OpenGLLinearBatch.cs index d783b30604..b0c79064f5 100644 --- a/osu.Framework/Graphics/OpenGL/Batches/LinearBatch.cs +++ b/osu.Framework/Graphics/OpenGL/Batches/OpenGLLinearBatch.cs @@ -10,17 +10,17 @@ namespace osu.Framework.Graphics.OpenGL.Batches { - internal class LinearBatch : VertexBatch + internal class OpenGLLinearBatch : OpenGLVertexBatch where T : struct, IEquatable, IVertex { private readonly PrimitiveType type; - public LinearBatch(OpenGLRenderer renderer, int size, int maxBuffers, PrimitiveType type) + public OpenGLLinearBatch(OpenGLRenderer renderer, int size, int maxBuffers, PrimitiveType type) : base(renderer, size, maxBuffers) { this.type = type; } - protected override VertexBuffer CreateVertexBuffer(OpenGLRenderer renderer) => new LinearVertexBuffer(renderer, Size, type, BufferUsageHint.DynamicDraw); + protected override OpenGLVertexBuffer CreateVertexBuffer(OpenGLRenderer renderer) => new OpenGLLinearBuffer(renderer, Size, type, BufferUsageHint.DynamicDraw); } } diff --git a/osu.Framework/Graphics/OpenGL/Batches/QuadBatch.cs b/osu.Framework/Graphics/OpenGL/Batches/OpenGLQuadBatch.cs similarity index 61% rename from osu.Framework/Graphics/OpenGL/Batches/QuadBatch.cs rename to osu.Framework/Graphics/OpenGL/Batches/OpenGLQuadBatch.cs index cb363b8d49..9059c8d01e 100644 --- a/osu.Framework/Graphics/OpenGL/Batches/QuadBatch.cs +++ b/osu.Framework/Graphics/OpenGL/Batches/OpenGLQuadBatch.cs @@ -10,14 +10,14 @@ namespace osu.Framework.Graphics.OpenGL.Batches { - internal class QuadBatch : VertexBatch + internal class OpenGLQuadBatch : OpenGLVertexBatch where T : struct, IEquatable, IVertex { - public QuadBatch(OpenGLRenderer renderer, int size, int maxBuffers) + public OpenGLQuadBatch(OpenGLRenderer renderer, int size, int maxBuffers) : base(renderer, size, maxBuffers) { } - protected override VertexBuffer CreateVertexBuffer(OpenGLRenderer renderer) => new QuadVertexBuffer(renderer, Size, BufferUsageHint.DynamicDraw); + protected override OpenGLVertexBuffer CreateVertexBuffer(OpenGLRenderer renderer) => new OpenGLQuadBuffer(renderer, Size, BufferUsageHint.DynamicDraw); } } diff --git a/osu.Framework/Graphics/OpenGL/Batches/VertexBatch.cs b/osu.Framework/Graphics/OpenGL/Batches/OpenGLVertexBatch.cs similarity index 83% rename from osu.Framework/Graphics/OpenGL/Batches/VertexBatch.cs rename to osu.Framework/Graphics/OpenGL/Batches/OpenGLVertexBatch.cs index f991b49f9f..082fccce26 100644 --- a/osu.Framework/Graphics/OpenGL/Batches/VertexBatch.cs +++ b/osu.Framework/Graphics/OpenGL/Batches/OpenGLVertexBatch.cs @@ -12,10 +12,10 @@ namespace osu.Framework.Graphics.OpenGL.Batches { - internal abstract class VertexBatch : IVertexBatch + internal abstract class OpenGLVertexBatch : IVertexBatch where T : struct, IEquatable, IVertex { - public List> VertexBuffers = new List>(); + public List> VertexBuffers = new List>(); /// /// The number of vertices in each VertexBuffer. @@ -31,9 +31,9 @@ internal abstract class VertexBatch : IVertexBatch private readonly OpenGLRenderer renderer; private readonly int maxBuffers; - private VertexBuffer currentVertexBuffer => VertexBuffers[currentBufferIndex]; + private OpenGLVertexBuffer currentVertexBuffer => VertexBuffers[currentBufferIndex]; - protected VertexBatch(OpenGLRenderer renderer, int bufferSize, int maxBuffers) + protected OpenGLVertexBatch(OpenGLRenderer renderer, int bufferSize, int maxBuffers) { Size = bufferSize; this.renderer = renderer; @@ -54,7 +54,7 @@ protected void Dispose(bool disposing) { if (disposing) { - foreach (VertexBuffer vbo in VertexBuffers) + foreach (OpenGLVertexBuffer vbo in VertexBuffers) vbo.Dispose(); } } @@ -68,10 +68,10 @@ void IVertexBatch.ResetCounters() currentVertexIndex = 0; } - protected abstract VertexBuffer CreateVertexBuffer(OpenGLRenderer renderer); + protected abstract OpenGLVertexBuffer CreateVertexBuffer(OpenGLRenderer renderer); /// - /// Adds a vertex to this . + /// Adds a vertex to this . /// /// The vertex to add. public void Add(T v) @@ -100,7 +100,7 @@ public void Add(T v) } /// - /// Adds a vertex to this . + /// Adds a vertex to this . /// This is a cached delegate of that should be used in memory-critical locations such as s. /// public Action AddAction { get; private set; } @@ -110,7 +110,7 @@ public int Draw() if (currentVertexIndex == 0) return 0; - VertexBuffer vertexBuffer = currentVertexBuffer; + OpenGLVertexBuffer vertexBuffer = currentVertexBuffer; if (changeBeginIndex >= 0) vertexBuffer.UpdateRange(changeBeginIndex, changeEndIndex); diff --git a/osu.Framework/Graphics/OpenGL/Buffers/IVertexBuffer.cs b/osu.Framework/Graphics/OpenGL/Buffers/IOpenGLVertexBuffer.cs similarity index 62% rename from osu.Framework/Graphics/OpenGL/Buffers/IVertexBuffer.cs rename to osu.Framework/Graphics/OpenGL/Buffers/IOpenGLVertexBuffer.cs index a57e24f25a..85d4d03172 100644 --- a/osu.Framework/Graphics/OpenGL/Buffers/IVertexBuffer.cs +++ b/osu.Framework/Graphics/OpenGL/Buffers/IOpenGLVertexBuffer.cs @@ -6,22 +6,22 @@ namespace osu.Framework.Graphics.OpenGL.Buffers { /// - /// Internal interface for all s. + /// Internal interface for all s. /// - internal interface IVertexBuffer + internal interface IOpenGLVertexBuffer { /// - /// The when this was last used. + /// The when this was last used. /// ulong LastUseResetId { get; } /// - /// Whether this is currently in use. + /// Whether this is currently in use. /// bool InUse { get; } /// - /// Frees all resources allocated by this . + /// Frees all resources allocated by this . /// void Free(); } diff --git a/osu.Framework/Graphics/OpenGL/Buffers/BufferFormatExtensions.cs b/osu.Framework/Graphics/OpenGL/Buffers/OpenGLBufferFormatExtensions.cs similarity index 99% rename from osu.Framework/Graphics/OpenGL/Buffers/BufferFormatExtensions.cs rename to osu.Framework/Graphics/OpenGL/Buffers/OpenGLBufferFormatExtensions.cs index 28cc449dc9..2116959675 100644 --- a/osu.Framework/Graphics/OpenGL/Buffers/BufferFormatExtensions.cs +++ b/osu.Framework/Graphics/OpenGL/Buffers/OpenGLBufferFormatExtensions.cs @@ -8,7 +8,7 @@ namespace osu.Framework.Graphics.OpenGL.Buffers { - public static class BufferFormatExtensions + public static class OpenGLBufferFormatExtensions { public static FramebufferAttachment GetAttachmentType(this RenderbufferInternalFormat format) { diff --git a/osu.Framework/Graphics/OpenGL/Buffers/FrameBuffer.cs b/osu.Framework/Graphics/OpenGL/Buffers/OpenGLFrameBuffer.cs similarity index 91% rename from osu.Framework/Graphics/OpenGL/Buffers/FrameBuffer.cs rename to osu.Framework/Graphics/OpenGL/Buffers/OpenGLFrameBuffer.cs index 05390c5207..0371f90ce4 100644 --- a/osu.Framework/Graphics/OpenGL/Buffers/FrameBuffer.cs +++ b/osu.Framework/Graphics/OpenGL/Buffers/OpenGLFrameBuffer.cs @@ -11,16 +11,16 @@ namespace osu.Framework.Graphics.OpenGL.Buffers { - internal class FrameBuffer : IFrameBuffer + internal class OpenGLFrameBuffer : IFrameBuffer { public Texture Texture { get; } - private readonly List attachedRenderBuffers = new List(); + private readonly List attachedRenderBuffers = new List(); private readonly OpenGLRenderer renderer; private readonly TextureGL textureGL; private readonly int frameBuffer; - public FrameBuffer(OpenGLRenderer renderer, RenderbufferInternalFormat[]? renderBufferFormats = null, All filteringMode = All.Linear) + public OpenGLFrameBuffer(OpenGLRenderer renderer, RenderbufferInternalFormat[]? renderBufferFormats = null, All filteringMode = All.Linear) { this.renderer = renderer; frameBuffer = GL.GenFramebuffer(); @@ -34,7 +34,7 @@ public FrameBuffer(OpenGLRenderer renderer, RenderbufferInternalFormat[]? render if (renderBufferFormats != null) { foreach (var format in renderBufferFormats) - attachedRenderBuffers.Add(new RenderBuffer(renderer, format)); + attachedRenderBuffers.Add(new OpenGLRenderBuffer(renderer, format)); } renderer.UnbindFrameBuffer(frameBuffer); @@ -90,7 +90,7 @@ public void Unbind() #region Disposal - ~FrameBuffer() + ~OpenGLFrameBuffer() { renderer.ScheduleDisposal(b => b.Dispose(false), this); } diff --git a/osu.Framework/Graphics/OpenGL/Buffers/LinearVertexBuffer.cs b/osu.Framework/Graphics/OpenGL/Buffers/OpenGLLinearBuffer.cs similarity index 80% rename from osu.Framework/Graphics/OpenGL/Buffers/LinearVertexBuffer.cs rename to osu.Framework/Graphics/OpenGL/Buffers/OpenGLLinearBuffer.cs index 0308fcba3c..77a6ea41b0 100644 --- a/osu.Framework/Graphics/OpenGL/Buffers/LinearVertexBuffer.cs +++ b/osu.Framework/Graphics/OpenGL/Buffers/OpenGLLinearBuffer.cs @@ -10,9 +10,9 @@ namespace osu.Framework.Graphics.OpenGL.Buffers { - internal static class LinearIndexData + internal static class OpenGLLinearIndexData { - static LinearIndexData() + static OpenGLLinearIndexData() { GL.GenBuffers(1, out EBO_ID); } @@ -24,12 +24,12 @@ static LinearIndexData() /// /// This type of vertex buffer lets the ith vertex be referenced by the ith index. /// - internal class LinearVertexBuffer : VertexBuffer + internal class OpenGLLinearBuffer : OpenGLVertexBuffer where T : struct, IEquatable, IVertex { private readonly int amountVertices; - public LinearVertexBuffer(OpenGLRenderer renderer, int amountVertices, PrimitiveType type, BufferUsageHint usage) + public OpenGLLinearBuffer(OpenGLRenderer renderer, int amountVertices, PrimitiveType type, BufferUsageHint usage) : base(renderer, amountVertices, usage) { this.amountVertices = amountVertices; @@ -42,17 +42,17 @@ protected override void Initialise() { base.Initialise(); - if (amountVertices > LinearIndexData.MaxAmountIndices) + if (amountVertices > OpenGLLinearIndexData.MaxAmountIndices) { ushort[] indices = new ushort[amountVertices]; for (int i = 0; i < amountVertices; i++) indices[i] = (ushort)i; - Renderer.BindBuffer(BufferTarget.ElementArrayBuffer, LinearIndexData.EBO_ID); + Renderer.BindBuffer(BufferTarget.ElementArrayBuffer, OpenGLLinearIndexData.EBO_ID); GL.BufferData(BufferTarget.ElementArrayBuffer, (IntPtr)(amountVertices * sizeof(ushort)), indices, BufferUsageHint.StaticDraw); - LinearIndexData.MaxAmountIndices = amountVertices; + OpenGLLinearIndexData.MaxAmountIndices = amountVertices; } } @@ -61,7 +61,7 @@ public override void Bind(bool forRendering) base.Bind(forRendering); if (forRendering) - Renderer.BindBuffer(BufferTarget.ElementArrayBuffer, LinearIndexData.EBO_ID); + Renderer.BindBuffer(BufferTarget.ElementArrayBuffer, OpenGLLinearIndexData.EBO_ID); } protected override PrimitiveType Type { get; } diff --git a/osu.Framework/Graphics/OpenGL/Buffers/QuadVertexBuffer.cs b/osu.Framework/Graphics/OpenGL/Buffers/OpenGLQuadBuffer.cs similarity index 85% rename from osu.Framework/Graphics/OpenGL/Buffers/QuadVertexBuffer.cs rename to osu.Framework/Graphics/OpenGL/Buffers/OpenGLQuadBuffer.cs index 5a197748fb..2f87d8e4bd 100644 --- a/osu.Framework/Graphics/OpenGL/Buffers/QuadVertexBuffer.cs +++ b/osu.Framework/Graphics/OpenGL/Buffers/OpenGLQuadBuffer.cs @@ -11,9 +11,9 @@ namespace osu.Framework.Graphics.OpenGL.Buffers { - internal static class QuadIndexData + internal static class OpenGLQuadIndexData { - static QuadIndexData() + static OpenGLQuadIndexData() { GL.GenBuffers(1, out EBO_ID); } @@ -22,7 +22,7 @@ static QuadIndexData() public static int MaxAmountIndices; } - internal class QuadVertexBuffer : VertexBuffer + internal class OpenGLQuadBuffer : OpenGLVertexBuffer where T : struct, IEquatable, IVertex { private readonly int amountIndices; @@ -34,7 +34,7 @@ internal class QuadVertexBuffer : VertexBuffer /// public const int MAX_QUADS = ushort.MaxValue / indices_per_quad; - public QuadVertexBuffer(OpenGLRenderer renderer, int amountQuads, BufferUsageHint usage) + public OpenGLQuadBuffer(OpenGLRenderer renderer, int amountQuads, BufferUsageHint usage) : base(renderer, amountQuads * IRenderer.VERTICES_PER_QUAD, usage) { amountIndices = amountQuads * indices_per_quad; @@ -45,7 +45,7 @@ protected override void Initialise() { base.Initialise(); - if (amountIndices > QuadIndexData.MaxAmountIndices) + if (amountIndices > OpenGLQuadIndexData.MaxAmountIndices) { ushort[] indices = new ushort[amountIndices]; @@ -59,10 +59,10 @@ protected override void Initialise() indices[j + 5] = (ushort)(i + 1); } - Renderer.BindBuffer(BufferTarget.ElementArrayBuffer, QuadIndexData.EBO_ID); + Renderer.BindBuffer(BufferTarget.ElementArrayBuffer, OpenGLQuadIndexData.EBO_ID); GL.BufferData(BufferTarget.ElementArrayBuffer, (IntPtr)(amountIndices * sizeof(ushort)), indices, BufferUsageHint.StaticDraw); - QuadIndexData.MaxAmountIndices = amountIndices; + OpenGLQuadIndexData.MaxAmountIndices = amountIndices; } } @@ -71,7 +71,7 @@ public override void Bind(bool forRendering) base.Bind(forRendering); if (forRendering) - Renderer.BindBuffer(BufferTarget.ElementArrayBuffer, QuadIndexData.EBO_ID); + Renderer.BindBuffer(BufferTarget.ElementArrayBuffer, OpenGLQuadIndexData.EBO_ID); } protected override int ToElements(int vertices) => 3 * vertices / 2; diff --git a/osu.Framework/Graphics/OpenGL/Buffers/RenderBuffer.cs b/osu.Framework/Graphics/OpenGL/Buffers/OpenGLRenderBuffer.cs similarity index 95% rename from osu.Framework/Graphics/OpenGL/Buffers/RenderBuffer.cs rename to osu.Framework/Graphics/OpenGL/Buffers/OpenGLRenderBuffer.cs index 0d918b62ed..84a209edf5 100644 --- a/osu.Framework/Graphics/OpenGL/Buffers/RenderBuffer.cs +++ b/osu.Framework/Graphics/OpenGL/Buffers/OpenGLRenderBuffer.cs @@ -10,7 +10,7 @@ namespace osu.Framework.Graphics.OpenGL.Buffers { - internal class RenderBuffer : IDisposable + internal class OpenGLRenderBuffer : IDisposable { private readonly OpenGLRenderer renderer; private readonly RenderbufferInternalFormat format; @@ -19,7 +19,7 @@ internal class RenderBuffer : IDisposable private FramebufferAttachment attachment; - public RenderBuffer(OpenGLRenderer renderer, RenderbufferInternalFormat format) + public OpenGLRenderBuffer(OpenGLRenderer renderer, RenderbufferInternalFormat format) { this.renderer = renderer; this.format = format; @@ -75,7 +75,7 @@ public void Unbind() #region Disposal - ~RenderBuffer() + ~OpenGLRenderBuffer() { renderer.ScheduleDisposal(b => b.Dispose(false), this); } diff --git a/osu.Framework/Graphics/OpenGL/Buffers/VertexBuffer.cs b/osu.Framework/Graphics/OpenGL/Buffers/OpenGLVertexBuffer.cs similarity index 87% rename from osu.Framework/Graphics/OpenGL/Buffers/VertexBuffer.cs rename to osu.Framework/Graphics/OpenGL/Buffers/OpenGLVertexBuffer.cs index 6b2051abee..3962077afa 100644 --- a/osu.Framework/Graphics/OpenGL/Buffers/VertexBuffer.cs +++ b/osu.Framework/Graphics/OpenGL/Buffers/OpenGLVertexBuffer.cs @@ -13,7 +13,7 @@ namespace osu.Framework.Graphics.OpenGL.Buffers { - internal abstract class VertexBuffer : IVertexBuffer, IDisposable + internal abstract class OpenGLVertexBuffer : IOpenGLVertexBuffer, IDisposable where T : struct, IEquatable, IVertex { /// @@ -21,7 +21,7 @@ internal abstract class VertexBuffer : IVertexBuffer, IDisposable /// public const int MAX_VERTICES = ushort.MaxValue; - protected static readonly int STRIDE = VertexUtils>.STRIDE; + protected static readonly int STRIDE = OpenGLVertexUtils>.STRIDE; protected readonly OpenGLRenderer Renderer; private readonly BufferUsageHint usage; @@ -31,7 +31,7 @@ internal abstract class VertexBuffer : IVertexBuffer, IDisposable private int vboId = -1; - protected VertexBuffer(OpenGLRenderer renderer, int amountVertices, BufferUsageHint usage) + protected OpenGLVertexBuffer(OpenGLRenderer renderer, int amountVertices, BufferUsageHint usage) { Renderer = renderer; this.usage = usage; @@ -40,7 +40,7 @@ protected VertexBuffer(OpenGLRenderer renderer, int amountVertices, BufferUsageH } /// - /// Sets the vertex at a specific index of this . + /// Sets the vertex at a specific index of this . /// /// The index of the vertex. /// The vertex. @@ -58,12 +58,12 @@ public bool SetVertex(int vertexIndex, T vertex) } /// - /// Gets the number of vertices in this . + /// Gets the number of vertices in this . /// public int Size { get; } /// - /// Initialises this . Guaranteed to be run on the draw thread. + /// Initialises this . Guaranteed to be run on the draw thread. /// protected virtual void Initialise() { @@ -72,14 +72,14 @@ protected virtual void Initialise() GL.GenBuffers(1, out vboId); if (Renderer.BindBuffer(BufferTarget.ArrayBuffer, vboId)) - VertexUtils>.Bind(); + OpenGLVertexUtils>.Bind(); int size = Size * STRIDE; GL.BufferData(BufferTarget.ArrayBuffer, (IntPtr)size, IntPtr.Zero, usage); } - ~VertexBuffer() + ~OpenGLVertexBuffer() { Renderer.ScheduleDisposal(v => v.Dispose(false), this); } @@ -97,7 +97,7 @@ protected virtual void Dispose(bool disposing) if (IsDisposed) return; - ((IVertexBuffer)this).Free(); + ((IOpenGLVertexBuffer)this).Free(); IsDisposed = true; } @@ -111,7 +111,7 @@ public virtual void Bind(bool forRendering) Initialise(); if (Renderer.BindBuffer(BufferTarget.ArrayBuffer, vboId)) - VertexUtils>.Bind(); + OpenGLVertexUtils>.Bind(); } public virtual void Unbind() @@ -177,7 +177,7 @@ public void UpdateRange(int startIndex, int endIndex) public bool InUse => LastUseResetId > 0; - void IVertexBuffer.Free() + void IOpenGLVertexBuffer.Free() { if (vboId != -1) { diff --git a/osu.Framework/Graphics/OpenGL/Buffers/VertexUtils.cs b/osu.Framework/Graphics/OpenGL/Buffers/OpenGLVertexUtils.cs similarity index 96% rename from osu.Framework/Graphics/OpenGL/Buffers/VertexUtils.cs rename to osu.Framework/Graphics/OpenGL/Buffers/OpenGLVertexUtils.cs index 5bfa6be19b..c5065acbb6 100644 --- a/osu.Framework/Graphics/OpenGL/Buffers/VertexUtils.cs +++ b/osu.Framework/Graphics/OpenGL/Buffers/OpenGLVertexUtils.cs @@ -16,9 +16,9 @@ namespace osu.Framework.Graphics.OpenGL.Buffers { /// - /// Helper method that provides functionality to enable and bind vertex attributes. + /// Helper method that provides functionality to enable and bind GL vertex attributes. /// - internal static class VertexUtils + internal static class OpenGLVertexUtils where T : struct, IVertex { /// @@ -29,7 +29,7 @@ internal static class VertexUtils private static readonly List attributes = new List(); private static int amountEnabledAttributes; - static VertexUtils() + static OpenGLVertexUtils() { addAttributesRecursive(typeof(T), 0); } diff --git a/osu.Framework/Graphics/OpenGL/OpenGLRenderer.cs b/osu.Framework/Graphics/OpenGL/OpenGLRenderer.cs index fd6fbadf1a..3ec0018ed7 100644 --- a/osu.Framework/Graphics/OpenGL/OpenGLRenderer.cs +++ b/osu.Framework/Graphics/OpenGL/OpenGLRenderer.cs @@ -16,7 +16,6 @@ using osu.Framework.Graphics.Rendering.Vertices; using osu.Framework.Graphics.Shaders; using osu.Framework.Graphics.Textures; -using osu.Framework.Graphics.Video; using osu.Framework.Lists; using osu.Framework.Statistics; using osu.Framework.Threading; @@ -85,7 +84,7 @@ internal class OpenGLRenderer : IRenderer private readonly Scheduler resetScheduler = new Scheduler(() => ThreadSafety.IsDrawThread, new StopwatchClock(true)); // force no thread set until we are actually on the draw thread. private readonly Stack> quadBatches = new Stack>(); - private readonly List vertexBuffersInUse = new List(); + private readonly List vertexBuffersInUse = new List(); private readonly List batchResetList = new List(); private readonly Stack viewportStack = new Stack(); private readonly Stack projectionMatrixStack = new Stack(); @@ -908,7 +907,7 @@ public IFrameBuffer CreateFrameBuffer(RenderBufferFormat[]? renderBufferFormats } } - return new FrameBuffer(this, glFormats, glFilteringMode); + return new OpenGLFrameBuffer(this, glFormats, glFilteringMode); } public Texture CreateTexture(int width, int height, bool manualMipmaps = false, TextureFilteringMode filteringMode = TextureFilteringMode.Linear, WrapMode wrapModeS = WrapMode.None, @@ -934,7 +933,7 @@ public IFrameBuffer CreateFrameBuffer(RenderBufferFormat[]? renderBufferFormats } public Texture CreateVideoTexture(int width, int height) - => CreateTexture(new VideoTexture(this, width, height), WrapMode.None, WrapMode.None); + => CreateTexture(new VideoTextureGL(this, width, height), WrapMode.None, WrapMode.None); public Texture CreateTexture(INativeTexture nativeTexture, WrapMode wrapModeS, WrapMode wrapModeT) { @@ -951,13 +950,13 @@ public Texture CreateTexture(INativeTexture nativeTexture, WrapMode wrapModeS, W if (size <= 0) throw new ArgumentException("Linear batch size must be > 0.", nameof(size)); - if (size > LinearVertexBuffer.MAX_VERTICES) - throw new ArgumentException($"Linear batch may not have more than {LinearVertexBuffer.MAX_VERTICES} vertices.", nameof(size)); + if (size > OpenGLLinearBuffer.MAX_VERTICES) + throw new ArgumentException($"Linear batch may not have more than {OpenGLLinearBuffer.MAX_VERTICES} vertices.", nameof(size)); if (maxBuffers <= 0) throw new ArgumentException("Maximum number of buffers must be > 0.", nameof(maxBuffers)); - return new LinearBatch(this, size, maxBuffers, OpenGLUtils.ToPrimitiveType(topology)); + return new OpenGLLinearBatch(this, size, maxBuffers, OpenGLUtils.ToPrimitiveType(topology)); } public IVertexBatch CreateQuadBatch(int size, int maxBuffers) where TVertex : unmanaged, IEquatable, IVertex @@ -965,13 +964,13 @@ public Texture CreateTexture(INativeTexture nativeTexture, WrapMode wrapModeS, W if (size <= 0) throw new ArgumentException("Quad batch size must be > 0.", nameof(size)); - if (size > QuadVertexBuffer.MAX_QUADS) - throw new ArgumentException($"Quad batch may not have more than {QuadVertexBuffer.MAX_QUADS} quads.", nameof(size)); + if (size > OpenGLQuadBuffer.MAX_QUADS) + throw new ArgumentException($"Quad batch may not have more than {OpenGLQuadBuffer.MAX_QUADS} quads.", nameof(size)); if (maxBuffers <= 0) throw new ArgumentException("Maximum number of buffers must be > 0.", nameof(maxBuffers)); - return new QuadBatch(this, size, maxBuffers); + return new OpenGLQuadBatch(this, size, maxBuffers); } void IRenderer.SetUniform(IUniformWithValue uniform) @@ -1020,10 +1019,10 @@ void IRenderer.SetUniform(IUniformWithValue uniform) } /// - /// Notifies that a has begun being used. + /// Notifies that a has begun being used. /// - /// The in use. - public void RegisterVertexBufferUse(IVertexBuffer buffer) => vertexBuffersInUse.Add(buffer); + /// The in use. + public void RegisterVertexBufferUse(IOpenGLVertexBuffer buffer) => vertexBuffersInUse.Add(buffer); /// /// Sets the last vertex batch used for drawing. diff --git a/osu.Framework/Graphics/Video/VideoTexture.cs b/osu.Framework/Graphics/OpenGL/Textures/VideoTextureGL.cs similarity index 92% rename from osu.Framework/Graphics/Video/VideoTexture.cs rename to osu.Framework/Graphics/OpenGL/Textures/VideoTextureGL.cs index 26ba960422..a79bf0022b 100644 --- a/osu.Framework/Graphics/Video/VideoTexture.cs +++ b/osu.Framework/Graphics/OpenGL/Textures/VideoTextureGL.cs @@ -1,23 +1,22 @@ -// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. +// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. #nullable disable using System; using System.Diagnostics; -using osu.Framework.Graphics.OpenGL; -using osuTK.Graphics.ES30; -using osu.Framework.Graphics.OpenGL.Textures; using osu.Framework.Graphics.Textures; +using osu.Framework.Graphics.Video; using osu.Framework.Platform; +using osuTK.Graphics.ES30; -namespace osu.Framework.Graphics.Video +namespace osu.Framework.Graphics.OpenGL.Textures { - internal unsafe class VideoTexture : TextureGL + internal unsafe class VideoTextureGL : TextureGL { private int[] textureIds; - public VideoTexture(OpenGLRenderer renderer, int width, int height) + public VideoTextureGL(OpenGLRenderer renderer, int width, int height) : base(renderer, width, height, true) { } diff --git a/osu.Framework/Graphics/Rendering/IRenderer.cs b/osu.Framework/Graphics/Rendering/IRenderer.cs index 93902e7c9f..33e54aedc8 100644 --- a/osu.Framework/Graphics/Rendering/IRenderer.cs +++ b/osu.Framework/Graphics/Rendering/IRenderer.cs @@ -304,7 +304,7 @@ public interface IRenderer /// /// Sets the current draw depth. - /// The draw depth is written to every vertex added to s. + /// The draw depth is written to every vertex added to s. /// /// The draw depth. internal void SetDrawDepth(float drawDepth); diff --git a/osu.Framework/Graphics/Rendering/RendererExtensions.cs b/osu.Framework/Graphics/Rendering/RendererExtensions.cs index d2cc61c5f3..0ffc1a226a 100644 --- a/osu.Framework/Graphics/Rendering/RendererExtensions.cs +++ b/osu.Framework/Graphics/Rendering/RendererExtensions.cs @@ -218,10 +218,10 @@ public static class RendererExtensions } /// - /// Draws a to the screen. + /// Draws a to the screen. /// /// The renderer to draw the framebuffer with. - /// The to draw. + /// The to draw. /// The destination vertices. /// The colour to draw the with. /// An action that adds vertices to a . From d92664c0d0f3a9b7af98dd985d0e76e93f7bb182 Mon Sep 17 00:00:00 2001 From: Salman Ahmed Date: Fri, 26 Aug 2022 08:44:20 +0300 Subject: [PATCH 2/4] `OpenGL` -> `GL` --- osu-framework.sln.DotSettings | 1 + .../Graphics/ShaderRegexTest.cs | 2 +- .../Shaders/TestSceneShaderDisposal.cs | 12 ++--- .../IOSGLRenderer.cs} | 7 ++- osu.Framework.iOS/IOSGameHost.cs | 4 +- ...{OpenGLLinearBatch.cs => GLLinearBatch.cs} | 6 +-- .../{OpenGLQuadBatch.cs => GLQuadBatch.cs} | 6 +-- ...{OpenGLVertexBatch.cs => GLVertexBatch.cs} | 20 ++++---- ...ensions.cs => GLBufferFormatExtensions.cs} | 2 +- ...{OpenGLFrameBuffer.cs => GLFrameBuffer.cs} | 14 +++--- ...penGLLinearBuffer.cs => GLLinearBuffer.cs} | 4 +- .../{OpenGLQuadBuffer.cs => GLQuadBuffer.cs} | 4 +- ...penGLRenderBuffer.cs => GLRenderBuffer.cs} | 8 +-- ...penGLVertexBuffer.cs => GLVertexBuffer.cs} | 24 ++++----- ...{OpenGLVertexUtils.cs => GLVertexUtils.cs} | 4 +- ...enGLVertexBuffer.cs => IGLVertexBuffer.cs} | 10 ++-- .../{OpenGLRenderer.cs => GLRenderer.cs} | 50 +++++++++---------- .../OpenGL/{OpenGLUtils.cs => GLUtils.cs} | 2 +- .../Shaders/{OpenGLShader.cs => GLShader.cs} | 16 +++--- .../{OpenGLShaderPart.cs => GLShaderPart.cs} | 10 ++-- .../Graphics/OpenGL/Textures/TextureGL.cs | 4 +- .../OpenGL/Textures/VideoTextureGL.cs | 2 +- osu.Framework/Graphics/Rendering/IRenderer.cs | 2 +- .../Graphics/Rendering/RendererExtensions.cs | 4 +- .../Graphics/Shaders/GlobalPropertyManager.cs | 6 +-- osu.Framework/Platform/GameHost.cs | 2 +- 26 files changed, 113 insertions(+), 113 deletions(-) rename osu.Framework.iOS/Graphics/{IOSOpenGLRenderer.cs => OpenGL/IOSGLRenderer.cs} (69%) rename osu.Framework/Graphics/OpenGL/Batches/{OpenGLLinearBatch.cs => GLLinearBatch.cs} (62%) rename osu.Framework/Graphics/OpenGL/Batches/{OpenGLQuadBatch.cs => GLQuadBatch.cs} (61%) rename osu.Framework/Graphics/OpenGL/Batches/{OpenGLVertexBatch.cs => GLVertexBatch.cs} (82%) rename osu.Framework/Graphics/OpenGL/Buffers/{OpenGLBufferFormatExtensions.cs => GLBufferFormatExtensions.cs} (99%) rename osu.Framework/Graphics/OpenGL/Buffers/{OpenGLFrameBuffer.cs => GLFrameBuffer.cs} (88%) rename osu.Framework/Graphics/OpenGL/Buffers/{OpenGLLinearBuffer.cs => GLLinearBuffer.cs} (91%) rename osu.Framework/Graphics/OpenGL/Buffers/{OpenGLQuadBuffer.cs => GLQuadBuffer.cs} (94%) rename osu.Framework/Graphics/OpenGL/Buffers/{OpenGLRenderBuffer.cs => GLRenderBuffer.cs} (94%) rename osu.Framework/Graphics/OpenGL/Buffers/{OpenGLVertexBuffer.cs => GLVertexBuffer.cs} (86%) rename osu.Framework/Graphics/OpenGL/Buffers/{OpenGLVertexUtils.cs => GLVertexUtils.cs} (97%) rename osu.Framework/Graphics/OpenGL/Buffers/{IOpenGLVertexBuffer.cs => IGLVertexBuffer.cs} (55%) rename osu.Framework/Graphics/OpenGL/{OpenGLRenderer.cs => GLRenderer.cs} (94%) rename osu.Framework/Graphics/OpenGL/{OpenGLUtils.cs => GLUtils.cs} (99%) rename osu.Framework/Graphics/OpenGL/Shaders/{OpenGLShader.cs => GLShader.cs} (93%) rename osu.Framework/Graphics/OpenGL/Shaders/{OpenGLShaderPart.cs => GLShaderPart.cs} (93%) diff --git a/osu-framework.sln.DotSettings b/osu-framework.sln.DotSettings index 7071a978cb..f4bec5079e 100644 --- a/osu-framework.sln.DotSettings +++ b/osu-framework.sln.DotSettings @@ -333,6 +333,7 @@ ID IL IOS + IOSGL IP IPC JIT diff --git a/osu.Framework.Tests/Graphics/ShaderRegexTest.cs b/osu.Framework.Tests/Graphics/ShaderRegexTest.cs index fd402e6fa7..e78d68b910 100644 --- a/osu.Framework.Tests/Graphics/ShaderRegexTest.cs +++ b/osu.Framework.Tests/Graphics/ShaderRegexTest.cs @@ -12,7 +12,7 @@ namespace osu.Framework.Tests.Graphics [TestFixture] public class ShaderRegexTest { - private readonly Regex shaderAttributeRegex = new Regex(OpenGLShaderPart.SHADER_ATTRIBUTE_PATTERN); + private readonly Regex shaderAttributeRegex = new Regex(GLShaderPart.SHADER_ATTRIBUTE_PATTERN); [Test] public void TestComment() diff --git a/osu.Framework.Tests/Shaders/TestSceneShaderDisposal.cs b/osu.Framework.Tests/Shaders/TestSceneShaderDisposal.cs index 850bed9f6e..07952784be 100644 --- a/osu.Framework.Tests/Shaders/TestSceneShaderDisposal.cs +++ b/osu.Framework.Tests/Shaders/TestSceneShaderDisposal.cs @@ -20,7 +20,7 @@ namespace osu.Framework.Tests.Shaders public class TestSceneShaderDisposal : FrameworkTestScene { private ShaderManager manager; - private OpenGLShader shader; + private GLShader shader; private WeakReference shaderRef; @@ -30,7 +30,7 @@ public void SetUpSteps() AddStep("setup manager", () => { manager = new TestShaderManager(new NamespacedResourceStore(new DllResourceStore(typeof(Game).Assembly), @"Resources/Shaders")); - shader = (OpenGLShader)manager.Load(VertexShaderDescriptor.TEXTURE_2, FragmentShaderDescriptor.TEXTURE); + shader = (GLShader)manager.Load(VertexShaderDescriptor.TEXTURE_2, FragmentShaderDescriptor.TEXTURE); shaderRef = new WeakReference(shader); shader.EnsureShaderCompiled(); @@ -61,18 +61,18 @@ public void TestShadersLoseReferencesOnManagerDisposal() private class TestShaderManager : ShaderManager { public TestShaderManager(IResourceStore store) - : base(new OpenGLRenderer(), store) + : base(new GLRenderer(), store) { } internal override IShader CreateShader(IRenderer renderer, string name, params IShaderPart[] parts) - => new TestOpenGLShader(renderer, name, parts.Cast().ToArray()); + => new TestGLShader(renderer, name, parts.Cast().ToArray()); - private class TestOpenGLShader : OpenGLShader + private class TestGLShader : GLShader { private readonly IRenderer renderer; - internal TestOpenGLShader(IRenderer renderer, string name, OpenGLShaderPart[] parts) + internal TestGLShader(IRenderer renderer, string name, GLShaderPart[] parts) : base(renderer, name, parts) { this.renderer = renderer; diff --git a/osu.Framework.iOS/Graphics/IOSOpenGLRenderer.cs b/osu.Framework.iOS/Graphics/OpenGL/IOSGLRenderer.cs similarity index 69% rename from osu.Framework.iOS/Graphics/IOSOpenGLRenderer.cs rename to osu.Framework.iOS/Graphics/OpenGL/IOSGLRenderer.cs index 9b354d4bf5..57da24d139 100644 --- a/osu.Framework.iOS/Graphics/IOSOpenGLRenderer.cs +++ b/osu.Framework.iOS/Graphics/OpenGL/IOSGLRenderer.cs @@ -1,16 +1,15 @@ // Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. -using osu.Framework.iOS; using osu.Framework.Graphics.OpenGL; -namespace osu.Framework.iOS.Graphics +namespace osu.Framework.iOS.Graphics.OpenGL { - internal class IOSOpenGLRenderer : OpenGLRenderer + internal class IOSGLRenderer : GLRenderer { private readonly IOSGameView gameView; - public IOSOpenGLRenderer(IOSGameView gameView) + public IOSGLRenderer(IOSGameView gameView) { this.gameView = gameView; } diff --git a/osu.Framework.iOS/IOSGameHost.cs b/osu.Framework.iOS/IOSGameHost.cs index c779bdba98..3eeeb5dab5 100644 --- a/osu.Framework.iOS/IOSGameHost.cs +++ b/osu.Framework.iOS/IOSGameHost.cs @@ -15,7 +15,7 @@ using osu.Framework.Input.Handlers; using osu.Framework.Input.Handlers.Midi; using osu.Framework.IO.Stores; -using osu.Framework.iOS.Graphics; +using osu.Framework.iOS.Graphics.OpenGL; using osu.Framework.iOS.Graphics.Textures; using osu.Framework.iOS.Graphics.Video; using osu.Framework.iOS.Input; @@ -36,7 +36,7 @@ public IOSGameHost(IOSGameView gameView) this.gameView = gameView; } - protected override IRenderer CreateRenderer() => new IOSOpenGLRenderer(gameView); + protected override IRenderer CreateRenderer() => new IOSGLRenderer(gameView); protected override void SetupForRun() { diff --git a/osu.Framework/Graphics/OpenGL/Batches/OpenGLLinearBatch.cs b/osu.Framework/Graphics/OpenGL/Batches/GLLinearBatch.cs similarity index 62% rename from osu.Framework/Graphics/OpenGL/Batches/OpenGLLinearBatch.cs rename to osu.Framework/Graphics/OpenGL/Batches/GLLinearBatch.cs index b0c79064f5..d453d2c0dc 100644 --- a/osu.Framework/Graphics/OpenGL/Batches/OpenGLLinearBatch.cs +++ b/osu.Framework/Graphics/OpenGL/Batches/GLLinearBatch.cs @@ -10,17 +10,17 @@ namespace osu.Framework.Graphics.OpenGL.Batches { - internal class OpenGLLinearBatch : OpenGLVertexBatch + internal class GLLinearBatch : GLVertexBatch where T : struct, IEquatable, IVertex { private readonly PrimitiveType type; - public OpenGLLinearBatch(OpenGLRenderer renderer, int size, int maxBuffers, PrimitiveType type) + public GLLinearBatch(GLRenderer renderer, int size, int maxBuffers, PrimitiveType type) : base(renderer, size, maxBuffers) { this.type = type; } - protected override OpenGLVertexBuffer CreateVertexBuffer(OpenGLRenderer renderer) => new OpenGLLinearBuffer(renderer, Size, type, BufferUsageHint.DynamicDraw); + protected override GLVertexBuffer CreateVertexBuffer(GLRenderer renderer) => new GLLinearBuffer(renderer, Size, type, BufferUsageHint.DynamicDraw); } } diff --git a/osu.Framework/Graphics/OpenGL/Batches/OpenGLQuadBatch.cs b/osu.Framework/Graphics/OpenGL/Batches/GLQuadBatch.cs similarity index 61% rename from osu.Framework/Graphics/OpenGL/Batches/OpenGLQuadBatch.cs rename to osu.Framework/Graphics/OpenGL/Batches/GLQuadBatch.cs index 9059c8d01e..f5b91bf7c2 100644 --- a/osu.Framework/Graphics/OpenGL/Batches/OpenGLQuadBatch.cs +++ b/osu.Framework/Graphics/OpenGL/Batches/GLQuadBatch.cs @@ -10,14 +10,14 @@ namespace osu.Framework.Graphics.OpenGL.Batches { - internal class OpenGLQuadBatch : OpenGLVertexBatch + internal class GLQuadBatch : GLVertexBatch where T : struct, IEquatable, IVertex { - public OpenGLQuadBatch(OpenGLRenderer renderer, int size, int maxBuffers) + public GLQuadBatch(GLRenderer renderer, int size, int maxBuffers) : base(renderer, size, maxBuffers) { } - protected override OpenGLVertexBuffer CreateVertexBuffer(OpenGLRenderer renderer) => new OpenGLQuadBuffer(renderer, Size, BufferUsageHint.DynamicDraw); + protected override GLVertexBuffer CreateVertexBuffer(GLRenderer renderer) => new GLQuadBuffer(renderer, Size, BufferUsageHint.DynamicDraw); } } diff --git a/osu.Framework/Graphics/OpenGL/Batches/OpenGLVertexBatch.cs b/osu.Framework/Graphics/OpenGL/Batches/GLVertexBatch.cs similarity index 82% rename from osu.Framework/Graphics/OpenGL/Batches/OpenGLVertexBatch.cs rename to osu.Framework/Graphics/OpenGL/Batches/GLVertexBatch.cs index 082fccce26..b6a0d0a040 100644 --- a/osu.Framework/Graphics/OpenGL/Batches/OpenGLVertexBatch.cs +++ b/osu.Framework/Graphics/OpenGL/Batches/GLVertexBatch.cs @@ -12,10 +12,10 @@ namespace osu.Framework.Graphics.OpenGL.Batches { - internal abstract class OpenGLVertexBatch : IVertexBatch + internal abstract class GLVertexBatch : IVertexBatch where T : struct, IEquatable, IVertex { - public List> VertexBuffers = new List>(); + public List> VertexBuffers = new List>(); /// /// The number of vertices in each VertexBuffer. @@ -28,12 +28,12 @@ internal abstract class OpenGLVertexBatch : IVertexBatch private int currentBufferIndex; private int currentVertexIndex; - private readonly OpenGLRenderer renderer; + private readonly GLRenderer renderer; private readonly int maxBuffers; - private OpenGLVertexBuffer currentVertexBuffer => VertexBuffers[currentBufferIndex]; + private GLVertexBuffer currentVertexBuffer => VertexBuffers[currentBufferIndex]; - protected OpenGLVertexBatch(OpenGLRenderer renderer, int bufferSize, int maxBuffers) + protected GLVertexBatch(GLRenderer renderer, int bufferSize, int maxBuffers) { Size = bufferSize; this.renderer = renderer; @@ -54,7 +54,7 @@ protected void Dispose(bool disposing) { if (disposing) { - foreach (OpenGLVertexBuffer vbo in VertexBuffers) + foreach (GLVertexBuffer vbo in VertexBuffers) vbo.Dispose(); } } @@ -68,10 +68,10 @@ void IVertexBatch.ResetCounters() currentVertexIndex = 0; } - protected abstract OpenGLVertexBuffer CreateVertexBuffer(OpenGLRenderer renderer); + protected abstract GLVertexBuffer CreateVertexBuffer(GLRenderer renderer); /// - /// Adds a vertex to this . + /// Adds a vertex to this . /// /// The vertex to add. public void Add(T v) @@ -100,7 +100,7 @@ public void Add(T v) } /// - /// Adds a vertex to this . + /// Adds a vertex to this . /// This is a cached delegate of that should be used in memory-critical locations such as s. /// public Action AddAction { get; private set; } @@ -110,7 +110,7 @@ public int Draw() if (currentVertexIndex == 0) return 0; - OpenGLVertexBuffer vertexBuffer = currentVertexBuffer; + GLVertexBuffer vertexBuffer = currentVertexBuffer; if (changeBeginIndex >= 0) vertexBuffer.UpdateRange(changeBeginIndex, changeEndIndex); diff --git a/osu.Framework/Graphics/OpenGL/Buffers/OpenGLBufferFormatExtensions.cs b/osu.Framework/Graphics/OpenGL/Buffers/GLBufferFormatExtensions.cs similarity index 99% rename from osu.Framework/Graphics/OpenGL/Buffers/OpenGLBufferFormatExtensions.cs rename to osu.Framework/Graphics/OpenGL/Buffers/GLBufferFormatExtensions.cs index 2116959675..632e644f41 100644 --- a/osu.Framework/Graphics/OpenGL/Buffers/OpenGLBufferFormatExtensions.cs +++ b/osu.Framework/Graphics/OpenGL/Buffers/GLBufferFormatExtensions.cs @@ -8,7 +8,7 @@ namespace osu.Framework.Graphics.OpenGL.Buffers { - public static class OpenGLBufferFormatExtensions + public static class GLBufferFormatExtensions { public static FramebufferAttachment GetAttachmentType(this RenderbufferInternalFormat format) { diff --git a/osu.Framework/Graphics/OpenGL/Buffers/OpenGLFrameBuffer.cs b/osu.Framework/Graphics/OpenGL/Buffers/GLFrameBuffer.cs similarity index 88% rename from osu.Framework/Graphics/OpenGL/Buffers/OpenGLFrameBuffer.cs rename to osu.Framework/Graphics/OpenGL/Buffers/GLFrameBuffer.cs index 0371f90ce4..9a8b226cd2 100644 --- a/osu.Framework/Graphics/OpenGL/Buffers/OpenGLFrameBuffer.cs +++ b/osu.Framework/Graphics/OpenGL/Buffers/GLFrameBuffer.cs @@ -11,16 +11,16 @@ namespace osu.Framework.Graphics.OpenGL.Buffers { - internal class OpenGLFrameBuffer : IFrameBuffer + internal class GLFrameBuffer : IFrameBuffer { public Texture Texture { get; } - private readonly List attachedRenderBuffers = new List(); - private readonly OpenGLRenderer renderer; + private readonly List attachedRenderBuffers = new List(); + private readonly GLRenderer renderer; private readonly TextureGL textureGL; private readonly int frameBuffer; - public OpenGLFrameBuffer(OpenGLRenderer renderer, RenderbufferInternalFormat[]? renderBufferFormats = null, All filteringMode = All.Linear) + public GLFrameBuffer(GLRenderer renderer, RenderbufferInternalFormat[]? renderBufferFormats = null, All filteringMode = All.Linear) { this.renderer = renderer; frameBuffer = GL.GenFramebuffer(); @@ -34,7 +34,7 @@ public OpenGLFrameBuffer(OpenGLRenderer renderer, RenderbufferInternalFormat[]? if (renderBufferFormats != null) { foreach (var format in renderBufferFormats) - attachedRenderBuffers.Add(new OpenGLRenderBuffer(renderer, format)); + attachedRenderBuffers.Add(new GLRenderBuffer(renderer, format)); } renderer.UnbindFrameBuffer(frameBuffer); @@ -90,7 +90,7 @@ public void Unbind() #region Disposal - ~OpenGLFrameBuffer() + ~GLFrameBuffer() { renderer.ScheduleDisposal(b => b.Dispose(false), this); } @@ -121,7 +121,7 @@ protected virtual void Dispose(bool disposing) private class FrameBufferTexture : TextureGL { - public FrameBufferTexture(OpenGLRenderer renderer, All filteringMode = All.Linear) + public FrameBufferTexture(GLRenderer renderer, All filteringMode = All.Linear) : base(renderer, 1, 1, true, filteringMode) { BypassTextureUploadQueueing = true; diff --git a/osu.Framework/Graphics/OpenGL/Buffers/OpenGLLinearBuffer.cs b/osu.Framework/Graphics/OpenGL/Buffers/GLLinearBuffer.cs similarity index 91% rename from osu.Framework/Graphics/OpenGL/Buffers/OpenGLLinearBuffer.cs rename to osu.Framework/Graphics/OpenGL/Buffers/GLLinearBuffer.cs index 77a6ea41b0..568530f2ca 100644 --- a/osu.Framework/Graphics/OpenGL/Buffers/OpenGLLinearBuffer.cs +++ b/osu.Framework/Graphics/OpenGL/Buffers/GLLinearBuffer.cs @@ -24,12 +24,12 @@ static OpenGLLinearIndexData() /// /// This type of vertex buffer lets the ith vertex be referenced by the ith index. /// - internal class OpenGLLinearBuffer : OpenGLVertexBuffer + internal class GLLinearBuffer : GLVertexBuffer where T : struct, IEquatable, IVertex { private readonly int amountVertices; - public OpenGLLinearBuffer(OpenGLRenderer renderer, int amountVertices, PrimitiveType type, BufferUsageHint usage) + public GLLinearBuffer(GLRenderer renderer, int amountVertices, PrimitiveType type, BufferUsageHint usage) : base(renderer, amountVertices, usage) { this.amountVertices = amountVertices; diff --git a/osu.Framework/Graphics/OpenGL/Buffers/OpenGLQuadBuffer.cs b/osu.Framework/Graphics/OpenGL/Buffers/GLQuadBuffer.cs similarity index 94% rename from osu.Framework/Graphics/OpenGL/Buffers/OpenGLQuadBuffer.cs rename to osu.Framework/Graphics/OpenGL/Buffers/GLQuadBuffer.cs index 2f87d8e4bd..11bd489fa9 100644 --- a/osu.Framework/Graphics/OpenGL/Buffers/OpenGLQuadBuffer.cs +++ b/osu.Framework/Graphics/OpenGL/Buffers/GLQuadBuffer.cs @@ -22,7 +22,7 @@ static OpenGLQuadIndexData() public static int MaxAmountIndices; } - internal class OpenGLQuadBuffer : OpenGLVertexBuffer + internal class GLQuadBuffer : GLVertexBuffer where T : struct, IEquatable, IVertex { private readonly int amountIndices; @@ -34,7 +34,7 @@ internal class OpenGLQuadBuffer : OpenGLVertexBuffer /// public const int MAX_QUADS = ushort.MaxValue / indices_per_quad; - public OpenGLQuadBuffer(OpenGLRenderer renderer, int amountQuads, BufferUsageHint usage) + public GLQuadBuffer(GLRenderer renderer, int amountQuads, BufferUsageHint usage) : base(renderer, amountQuads * IRenderer.VERTICES_PER_QUAD, usage) { amountIndices = amountQuads * indices_per_quad; diff --git a/osu.Framework/Graphics/OpenGL/Buffers/OpenGLRenderBuffer.cs b/osu.Framework/Graphics/OpenGL/Buffers/GLRenderBuffer.cs similarity index 94% rename from osu.Framework/Graphics/OpenGL/Buffers/OpenGLRenderBuffer.cs rename to osu.Framework/Graphics/OpenGL/Buffers/GLRenderBuffer.cs index 84a209edf5..2ee6a0aa5a 100644 --- a/osu.Framework/Graphics/OpenGL/Buffers/OpenGLRenderBuffer.cs +++ b/osu.Framework/Graphics/OpenGL/Buffers/GLRenderBuffer.cs @@ -10,16 +10,16 @@ namespace osu.Framework.Graphics.OpenGL.Buffers { - internal class OpenGLRenderBuffer : IDisposable + internal class GLRenderBuffer : IDisposable { - private readonly OpenGLRenderer renderer; + private readonly GLRenderer renderer; private readonly RenderbufferInternalFormat format; private readonly int renderBuffer; private readonly int sizePerPixel; private FramebufferAttachment attachment; - public OpenGLRenderBuffer(OpenGLRenderer renderer, RenderbufferInternalFormat format) + public GLRenderBuffer(GLRenderer renderer, RenderbufferInternalFormat format) { this.renderer = renderer; this.format = format; @@ -75,7 +75,7 @@ public void Unbind() #region Disposal - ~OpenGLRenderBuffer() + ~GLRenderBuffer() { renderer.ScheduleDisposal(b => b.Dispose(false), this); } diff --git a/osu.Framework/Graphics/OpenGL/Buffers/OpenGLVertexBuffer.cs b/osu.Framework/Graphics/OpenGL/Buffers/GLVertexBuffer.cs similarity index 86% rename from osu.Framework/Graphics/OpenGL/Buffers/OpenGLVertexBuffer.cs rename to osu.Framework/Graphics/OpenGL/Buffers/GLVertexBuffer.cs index 3962077afa..2c9bc83797 100644 --- a/osu.Framework/Graphics/OpenGL/Buffers/OpenGLVertexBuffer.cs +++ b/osu.Framework/Graphics/OpenGL/Buffers/GLVertexBuffer.cs @@ -13,7 +13,7 @@ namespace osu.Framework.Graphics.OpenGL.Buffers { - internal abstract class OpenGLVertexBuffer : IOpenGLVertexBuffer, IDisposable + internal abstract class GLVertexBuffer : IGLVertexBuffer, IDisposable where T : struct, IEquatable, IVertex { /// @@ -21,9 +21,9 @@ internal abstract class OpenGLVertexBuffer : IOpenGLVertexBuffer, IDisposable /// public const int MAX_VERTICES = ushort.MaxValue; - protected static readonly int STRIDE = OpenGLVertexUtils>.STRIDE; + protected static readonly int STRIDE = GLVertexUtils>.STRIDE; - protected readonly OpenGLRenderer Renderer; + protected readonly GLRenderer Renderer; private readonly BufferUsageHint usage; private Memory> vertexMemory; @@ -31,7 +31,7 @@ internal abstract class OpenGLVertexBuffer : IOpenGLVertexBuffer, IDisposable private int vboId = -1; - protected OpenGLVertexBuffer(OpenGLRenderer renderer, int amountVertices, BufferUsageHint usage) + protected GLVertexBuffer(GLRenderer renderer, int amountVertices, BufferUsageHint usage) { Renderer = renderer; this.usage = usage; @@ -40,7 +40,7 @@ protected OpenGLVertexBuffer(OpenGLRenderer renderer, int amountVertices, Buffer } /// - /// Sets the vertex at a specific index of this . + /// Sets the vertex at a specific index of this . /// /// The index of the vertex. /// The vertex. @@ -58,12 +58,12 @@ public bool SetVertex(int vertexIndex, T vertex) } /// - /// Gets the number of vertices in this . + /// Gets the number of vertices in this . /// public int Size { get; } /// - /// Initialises this . Guaranteed to be run on the draw thread. + /// Initialises this . Guaranteed to be run on the draw thread. /// protected virtual void Initialise() { @@ -72,14 +72,14 @@ protected virtual void Initialise() GL.GenBuffers(1, out vboId); if (Renderer.BindBuffer(BufferTarget.ArrayBuffer, vboId)) - OpenGLVertexUtils>.Bind(); + GLVertexUtils>.Bind(); int size = Size * STRIDE; GL.BufferData(BufferTarget.ArrayBuffer, (IntPtr)size, IntPtr.Zero, usage); } - ~OpenGLVertexBuffer() + ~GLVertexBuffer() { Renderer.ScheduleDisposal(v => v.Dispose(false), this); } @@ -97,7 +97,7 @@ protected virtual void Dispose(bool disposing) if (IsDisposed) return; - ((IOpenGLVertexBuffer)this).Free(); + ((IGLVertexBuffer)this).Free(); IsDisposed = true; } @@ -111,7 +111,7 @@ public virtual void Bind(bool forRendering) Initialise(); if (Renderer.BindBuffer(BufferTarget.ArrayBuffer, vboId)) - OpenGLVertexUtils>.Bind(); + GLVertexUtils>.Bind(); } public virtual void Unbind() @@ -177,7 +177,7 @@ public void UpdateRange(int startIndex, int endIndex) public bool InUse => LastUseResetId > 0; - void IOpenGLVertexBuffer.Free() + void IGLVertexBuffer.Free() { if (vboId != -1) { diff --git a/osu.Framework/Graphics/OpenGL/Buffers/OpenGLVertexUtils.cs b/osu.Framework/Graphics/OpenGL/Buffers/GLVertexUtils.cs similarity index 97% rename from osu.Framework/Graphics/OpenGL/Buffers/OpenGLVertexUtils.cs rename to osu.Framework/Graphics/OpenGL/Buffers/GLVertexUtils.cs index c5065acbb6..6da082b620 100644 --- a/osu.Framework/Graphics/OpenGL/Buffers/OpenGLVertexUtils.cs +++ b/osu.Framework/Graphics/OpenGL/Buffers/GLVertexUtils.cs @@ -18,7 +18,7 @@ namespace osu.Framework.Graphics.OpenGL.Buffers /// /// Helper method that provides functionality to enable and bind GL vertex attributes. /// - internal static class OpenGLVertexUtils + internal static class GLVertexUtils where T : struct, IVertex { /// @@ -29,7 +29,7 @@ internal static class OpenGLVertexUtils private static readonly List attributes = new List(); private static int amountEnabledAttributes; - static OpenGLVertexUtils() + static GLVertexUtils() { addAttributesRecursive(typeof(T), 0); } diff --git a/osu.Framework/Graphics/OpenGL/Buffers/IOpenGLVertexBuffer.cs b/osu.Framework/Graphics/OpenGL/Buffers/IGLVertexBuffer.cs similarity index 55% rename from osu.Framework/Graphics/OpenGL/Buffers/IOpenGLVertexBuffer.cs rename to osu.Framework/Graphics/OpenGL/Buffers/IGLVertexBuffer.cs index 85d4d03172..30d7112d1e 100644 --- a/osu.Framework/Graphics/OpenGL/Buffers/IOpenGLVertexBuffer.cs +++ b/osu.Framework/Graphics/OpenGL/Buffers/IGLVertexBuffer.cs @@ -6,22 +6,22 @@ namespace osu.Framework.Graphics.OpenGL.Buffers { /// - /// Internal interface for all s. + /// Internal interface for all s. /// - internal interface IOpenGLVertexBuffer + internal interface IGLVertexBuffer { /// - /// The when this was last used. + /// The when this was last used. /// ulong LastUseResetId { get; } /// - /// Whether this is currently in use. + /// Whether this is currently in use. /// bool InUse { get; } /// - /// Frees all resources allocated by this . + /// Frees all resources allocated by this . /// void Free(); } diff --git a/osu.Framework/Graphics/OpenGL/OpenGLRenderer.cs b/osu.Framework/Graphics/OpenGL/GLRenderer.cs similarity index 94% rename from osu.Framework/Graphics/OpenGL/OpenGLRenderer.cs rename to osu.Framework/Graphics/OpenGL/GLRenderer.cs index 3ec0018ed7..ad2789ff21 100644 --- a/osu.Framework/Graphics/OpenGL/OpenGLRenderer.cs +++ b/osu.Framework/Graphics/OpenGL/GLRenderer.cs @@ -27,7 +27,7 @@ namespace osu.Framework.Graphics.OpenGL { - internal class OpenGLRenderer : IRenderer + internal class GLRenderer : IRenderer { /// /// The interval (in frames) before checking whether VBOs should be freed. @@ -72,10 +72,10 @@ internal class OpenGLRenderer : IRenderer protected virtual int BackbufferFramebuffer => 0; - private readonly GlobalStatistic statExpensiveOperationsQueued = GlobalStatistics.Get(nameof(OpenGLRenderer), "Expensive operation queue length"); - private readonly GlobalStatistic statTextureUploadsQueued = GlobalStatistics.Get(nameof(OpenGLRenderer), "Texture upload queue length"); - private readonly GlobalStatistic statTextureUploadsDequeued = GlobalStatistics.Get(nameof(OpenGLRenderer), "Texture uploads dequeued"); - private readonly GlobalStatistic statTextureUploadsPerformed = GlobalStatistics.Get(nameof(OpenGLRenderer), "Texture uploads performed"); + private readonly GlobalStatistic statExpensiveOperationsQueued = GlobalStatistics.Get(nameof(GLRenderer), "Expensive operation queue length"); + private readonly GlobalStatistic statTextureUploadsQueued = GlobalStatistics.Get(nameof(GLRenderer), "Texture upload queue length"); + private readonly GlobalStatistic statTextureUploadsDequeued = GlobalStatistics.Get(nameof(GLRenderer), "Texture uploads dequeued"); + private readonly GlobalStatistic statTextureUploadsPerformed = GlobalStatistics.Get(nameof(GLRenderer), "Texture uploads performed"); private readonly ConcurrentQueue expensiveOperationQueue = new ConcurrentQueue(); private readonly ConcurrentQueue textureUploadQueue = new ConcurrentQueue(); @@ -84,7 +84,7 @@ internal class OpenGLRenderer : IRenderer private readonly Scheduler resetScheduler = new Scheduler(() => ThreadSafety.IsDrawThread, new StopwatchClock(true)); // force no thread set until we are actually on the draw thread. private readonly Stack> quadBatches = new Stack>(); - private readonly List vertexBuffersInUse = new List(); + private readonly List vertexBuffersInUse = new List(); private readonly List batchResetList = new List(); private readonly Stack viewportStack = new Stack(); private readonly Stack projectionMatrixStack = new Stack(); @@ -115,7 +115,7 @@ internal class OpenGLRenderer : IRenderer private bool isInitialised; private int lastActiveTextureUnit; - public OpenGLRenderer() + public GLRenderer() { whitePixel = new Lazy(() => new TextureAtlas(this, TextureAtlas.WHITE_PIXEL_SIZE + TextureAtlas.PADDING, TextureAtlas.WHITE_PIXEL_SIZE + TextureAtlas.PADDING, true).WhitePixel); @@ -319,7 +319,7 @@ public void UseProgram(IShader? shader) flushCurrentBatch(); - GL.UseProgram((OpenGLShader)shader); + GL.UseProgram((GLShader)shader); currentShader = shader; } @@ -723,7 +723,7 @@ private void setDepthInfo(DepthInfo depthInfo) if (depthInfo.DepthTest) { GL.Enable(EnableCap.DepthTest); - GL.DepthFunc(OpenGLUtils.ToDepthFunction(depthInfo.Function)); + GL.DepthFunc(GLUtils.ToDepthFunction(depthInfo.Function)); } else GL.Disable(EnableCap.DepthTest); @@ -763,11 +763,11 @@ private void setStencilInfo(StencilInfo stencilInfo) if (stencilInfo.StencilTest) { GL.Enable(EnableCap.StencilTest); - GL.StencilFunc(OpenGLUtils.ToStencilFunction(stencilInfo.TestFunction), stencilInfo.TestValue, stencilInfo.Mask); + GL.StencilFunc(GLUtils.ToStencilFunction(stencilInfo.TestFunction), stencilInfo.TestValue, stencilInfo.Mask); GL.StencilOp( - OpenGLUtils.ToStencilOperation(stencilInfo.StencilTestFailOperation), - OpenGLUtils.ToStencilOperation(stencilInfo.DepthTestFailOperation), - OpenGLUtils.ToStencilOperation(stencilInfo.TestPassedOperation)); + GLUtils.ToStencilOperation(stencilInfo.StencilTestFailOperation), + GLUtils.ToStencilOperation(stencilInfo.DepthTestFailOperation), + GLUtils.ToStencilOperation(stencilInfo.TestPassedOperation)); } else GL.Disable(EnableCap.StencilTest); @@ -853,10 +853,10 @@ IShaderPart IRenderer.CreateShaderPart(ShaderManager manager, string name, byte[ throw new ArgumentException($"Unsupported shader part type: {partType}", nameof(partType)); } - return new OpenGLShaderPart(this, name, rawData, glType, manager); + return new GLShaderPart(this, name, rawData, glType, manager); } - IShader IRenderer.CreateShader(string name, params IShaderPart[] parts) => new OpenGLShader(this, name, parts.Cast().ToArray()); + IShader IRenderer.CreateShader(string name, params IShaderPart[] parts) => new GLShader(this, name, parts.Cast().ToArray()); public IFrameBuffer CreateFrameBuffer(RenderBufferFormat[]? renderBufferFormats = null, TextureFilteringMode filteringMode = TextureFilteringMode.Linear) { @@ -907,7 +907,7 @@ public IFrameBuffer CreateFrameBuffer(RenderBufferFormat[]? renderBufferFormats } } - return new OpenGLFrameBuffer(this, glFormats, glFilteringMode); + return new GLFrameBuffer(this, glFormats, glFilteringMode); } public Texture CreateTexture(int width, int height, bool manualMipmaps = false, TextureFilteringMode filteringMode = TextureFilteringMode.Linear, WrapMode wrapModeS = WrapMode.None, @@ -950,13 +950,13 @@ public Texture CreateTexture(INativeTexture nativeTexture, WrapMode wrapModeS, W if (size <= 0) throw new ArgumentException("Linear batch size must be > 0.", nameof(size)); - if (size > OpenGLLinearBuffer.MAX_VERTICES) - throw new ArgumentException($"Linear batch may not have more than {OpenGLLinearBuffer.MAX_VERTICES} vertices.", nameof(size)); + if (size > GLLinearBuffer.MAX_VERTICES) + throw new ArgumentException($"Linear batch may not have more than {GLLinearBuffer.MAX_VERTICES} vertices.", nameof(size)); if (maxBuffers <= 0) throw new ArgumentException("Maximum number of buffers must be > 0.", nameof(maxBuffers)); - return new OpenGLLinearBatch(this, size, maxBuffers, OpenGLUtils.ToPrimitiveType(topology)); + return new GLLinearBatch(this, size, maxBuffers, GLUtils.ToPrimitiveType(topology)); } public IVertexBatch CreateQuadBatch(int size, int maxBuffers) where TVertex : unmanaged, IEquatable, IVertex @@ -964,13 +964,13 @@ public Texture CreateTexture(INativeTexture nativeTexture, WrapMode wrapModeS, W if (size <= 0) throw new ArgumentException("Quad batch size must be > 0.", nameof(size)); - if (size > OpenGLQuadBuffer.MAX_QUADS) - throw new ArgumentException($"Quad batch may not have more than {OpenGLQuadBuffer.MAX_QUADS} quads.", nameof(size)); + if (size > GLQuadBuffer.MAX_QUADS) + throw new ArgumentException($"Quad batch may not have more than {GLQuadBuffer.MAX_QUADS} quads.", nameof(size)); if (maxBuffers <= 0) throw new ArgumentException("Maximum number of buffers must be > 0.", nameof(maxBuffers)); - return new OpenGLQuadBatch(this, size, maxBuffers); + return new GLQuadBatch(this, size, maxBuffers); } void IRenderer.SetUniform(IUniformWithValue uniform) @@ -1019,10 +1019,10 @@ void IRenderer.SetUniform(IUniformWithValue uniform) } /// - /// Notifies that a has begun being used. + /// Notifies that a has begun being used. /// - /// The in use. - public void RegisterVertexBufferUse(IOpenGLVertexBuffer buffer) => vertexBuffersInUse.Add(buffer); + /// The in use. + public void RegisterVertexBufferUse(IGLVertexBuffer buffer) => vertexBuffersInUse.Add(buffer); /// /// Sets the last vertex batch used for drawing. diff --git a/osu.Framework/Graphics/OpenGL/OpenGLUtils.cs b/osu.Framework/Graphics/OpenGL/GLUtils.cs similarity index 99% rename from osu.Framework/Graphics/OpenGL/OpenGLUtils.cs rename to osu.Framework/Graphics/OpenGL/GLUtils.cs index fdd6a5ce56..c060560594 100644 --- a/osu.Framework/Graphics/OpenGL/OpenGLUtils.cs +++ b/osu.Framework/Graphics/OpenGL/GLUtils.cs @@ -7,7 +7,7 @@ namespace osu.Framework.Graphics.OpenGL { - internal static class OpenGLUtils + internal static class GLUtils { public static PrimitiveType ToPrimitiveType(PrimitiveTopology topology) { diff --git a/osu.Framework/Graphics/OpenGL/Shaders/OpenGLShader.cs b/osu.Framework/Graphics/OpenGL/Shaders/GLShader.cs similarity index 93% rename from osu.Framework/Graphics/OpenGL/Shaders/OpenGLShader.cs rename to osu.Framework/Graphics/OpenGL/Shaders/GLShader.cs index b3731c27a2..5e7bb4244c 100644 --- a/osu.Framework/Graphics/OpenGL/Shaders/OpenGLShader.cs +++ b/osu.Framework/Graphics/OpenGL/Shaders/GLShader.cs @@ -15,11 +15,11 @@ namespace osu.Framework.Graphics.OpenGL.Shaders { - internal class OpenGLShader : IShader + internal class GLShader : IShader { private readonly IRenderer renderer; private readonly string name; - private readonly OpenGLShaderPart[] parts; + private readonly GLShaderPart[] parts; private readonly ScheduledDelegate shaderCompileDelegate; @@ -36,7 +36,7 @@ internal class OpenGLShader : IShader private int programID = -1; - internal OpenGLShader(IRenderer renderer, string name, OpenGLShaderPart[] parts) + internal GLShader(IRenderer renderer, string name, GLShaderPart[] parts) { this.renderer = renderer; this.name = name; @@ -123,7 +123,7 @@ public Uniform GetUniform(string name) private protected virtual bool CompileInternal() { - foreach (OpenGLShaderPart p in parts) + foreach (GLShaderPart p in parts) { if (!p.Compiled) p.Compile(); GL.AttachShader(this, p); @@ -218,13 +218,13 @@ IUniform createUniform(string name) public override string ToString() => $@"{name} Shader (Compiled: {programID != -1})"; - public static implicit operator int(OpenGLShader shader) => shader.programID; + public static implicit operator int(GLShader shader) => shader.programID; #region IDisposable Support protected internal bool IsDisposed { get; private set; } - ~OpenGLShader() + ~GLShader() { renderer.ScheduleDisposal(s => s.Dispose(false), this); } @@ -255,7 +255,7 @@ protected virtual void Dispose(bool disposing) public class PartCompilationFailedException : Exception { public PartCompilationFailedException(string partName, string log) - : base($"A {typeof(OpenGLShaderPart)} failed to compile: {partName}:\n{log.Trim()}") + : base($"A {typeof(GLShaderPart)} failed to compile: {partName}:\n{log.Trim()}") { } } @@ -263,7 +263,7 @@ public PartCompilationFailedException(string partName, string log) public class ProgramLinkingFailedException : Exception { public ProgramLinkingFailedException(string programName, string log) - : base($"A {typeof(OpenGLShader)} failed to link: {programName}:\n{log.Trim()}") + : base($"A {typeof(GLShader)} failed to link: {programName}:\n{log.Trim()}") { } } diff --git a/osu.Framework/Graphics/OpenGL/Shaders/OpenGLShaderPart.cs b/osu.Framework/Graphics/OpenGL/Shaders/GLShaderPart.cs similarity index 93% rename from osu.Framework/Graphics/OpenGL/Shaders/OpenGLShaderPart.cs rename to osu.Framework/Graphics/OpenGL/Shaders/GLShaderPart.cs index c32f369ba5..3bb90ca165 100644 --- a/osu.Framework/Graphics/OpenGL/Shaders/OpenGLShaderPart.cs +++ b/osu.Framework/Graphics/OpenGL/Shaders/GLShaderPart.cs @@ -13,7 +13,7 @@ namespace osu.Framework.Graphics.OpenGL.Shaders { - internal class OpenGLShaderPart : IShaderPart + internal class GLShaderPart : IShaderPart { internal const string SHADER_ATTRIBUTE_PATTERN = "^\\s*(?>attribute|in)\\s+(?:(?:lowp|mediump|highp)\\s+)?\\w+\\s+(\\w+)"; @@ -39,7 +39,7 @@ internal class OpenGLShaderPart : IShaderPart private readonly ShaderManager manager; - internal OpenGLShaderPart(IRenderer renderer, string name, byte[] data, ShaderType type, ShaderManager manager) + internal GLShaderPart(IRenderer renderer, string name, byte[] data, ShaderType type, ShaderManager manager) { this.renderer = renderer; Name = name; @@ -148,18 +148,18 @@ internal bool Compile() Compiled = compileResult == 1; if (!Compiled) - throw new OpenGLShader.PartCompilationFailedException(Name, GL.GetShaderInfoLog(this)); + throw new GLShader.PartCompilationFailedException(Name, GL.GetShaderInfoLog(this)); return Compiled; } - public static implicit operator int(OpenGLShaderPart program) => program.partID; + public static implicit operator int(GLShaderPart program) => program.partID; #region IDisposable Support protected internal bool IsDisposed { get; private set; } - ~OpenGLShaderPart() + ~GLShaderPart() { renderer.ScheduleDisposal(s => s.Dispose(false), this); } diff --git a/osu.Framework/Graphics/OpenGL/Textures/TextureGL.cs b/osu.Framework/Graphics/OpenGL/Textures/TextureGL.cs index c7d3ffec99..ed665058e1 100644 --- a/osu.Framework/Graphics/OpenGL/Textures/TextureGL.cs +++ b/osu.Framework/Graphics/OpenGL/Textures/TextureGL.cs @@ -19,7 +19,7 @@ namespace osu.Framework.Graphics.OpenGL.Textures { internal class TextureGL : INativeTexture { - protected readonly OpenGLRenderer Renderer; + protected readonly GLRenderer Renderer; private readonly Queue uploadQueue = new Queue(); IRenderer INativeTexture.Renderer => Renderer; @@ -61,7 +61,7 @@ public string Identifier /// Whether manual mipmaps will be uploaded to the texture. If false, the texture will compute mipmaps automatically. /// The filtering mode. /// The colour to initialise texture levels with (in the case of sub region initial uploads). - public TextureGL(OpenGLRenderer renderer, int width, int height, bool manualMipmaps = false, All filteringMode = All.Linear, Rgba32 initialisationColour = default) + public TextureGL(GLRenderer renderer, int width, int height, bool manualMipmaps = false, All filteringMode = All.Linear, Rgba32 initialisationColour = default) { Renderer = renderer; Width = width; diff --git a/osu.Framework/Graphics/OpenGL/Textures/VideoTextureGL.cs b/osu.Framework/Graphics/OpenGL/Textures/VideoTextureGL.cs index a79bf0022b..5b6cff6e3c 100644 --- a/osu.Framework/Graphics/OpenGL/Textures/VideoTextureGL.cs +++ b/osu.Framework/Graphics/OpenGL/Textures/VideoTextureGL.cs @@ -16,7 +16,7 @@ internal unsafe class VideoTextureGL : TextureGL { private int[] textureIds; - public VideoTextureGL(OpenGLRenderer renderer, int width, int height) + public VideoTextureGL(GLRenderer renderer, int width, int height) : base(renderer, width, height, true) { } diff --git a/osu.Framework/Graphics/Rendering/IRenderer.cs b/osu.Framework/Graphics/Rendering/IRenderer.cs index 33e54aedc8..53ea2e3325 100644 --- a/osu.Framework/Graphics/Rendering/IRenderer.cs +++ b/osu.Framework/Graphics/Rendering/IRenderer.cs @@ -304,7 +304,7 @@ public interface IRenderer /// /// Sets the current draw depth. - /// The draw depth is written to every vertex added to s. + /// The draw depth is written to every vertex added to s. /// /// The draw depth. internal void SetDrawDepth(float drawDepth); diff --git a/osu.Framework/Graphics/Rendering/RendererExtensions.cs b/osu.Framework/Graphics/Rendering/RendererExtensions.cs index 0ffc1a226a..e3ef6b53e4 100644 --- a/osu.Framework/Graphics/Rendering/RendererExtensions.cs +++ b/osu.Framework/Graphics/Rendering/RendererExtensions.cs @@ -218,10 +218,10 @@ public static class RendererExtensions } /// - /// Draws a to the screen. + /// Draws a to the screen. /// /// The renderer to draw the framebuffer with. - /// The to draw. + /// The to draw. /// The destination vertices. /// The colour to draw the with. /// An action that adds vertices to a . diff --git a/osu.Framework/Graphics/Shaders/GlobalPropertyManager.cs b/osu.Framework/Graphics/Shaders/GlobalPropertyManager.cs index 18fac7b183..9ec7d4bcf5 100644 --- a/osu.Framework/Graphics/Shaders/GlobalPropertyManager.cs +++ b/osu.Framework/Graphics/Shaders/GlobalPropertyManager.cs @@ -13,7 +13,7 @@ namespace osu.Framework.Graphics.Shaders { internal static class GlobalPropertyManager { - private static readonly HashSet all_shaders = new HashSet(); + private static readonly HashSet all_shaders = new HashSet(); private static readonly IUniformMapping[] global_properties; static GlobalPropertyManager() @@ -54,7 +54,7 @@ public static void Set(GlobalProperty property, T value) ((UniformMapping)global_properties[(int)property]).UpdateValue(ref value); } - public static void Register(OpenGLShader shader) + public static void Register(GLShader shader) { if (!all_shaders.Add(shader)) return; @@ -68,7 +68,7 @@ public static void Register(OpenGLShader shader) } } - public static void Unregister(OpenGLShader shader) + public static void Unregister(GLShader shader) { if (!all_shaders.Remove(shader)) return; diff --git a/osu.Framework/Platform/GameHost.cs b/osu.Framework/Platform/GameHost.cs index 0c676a2b36..16f89d04d3 100644 --- a/osu.Framework/Platform/GameHost.cs +++ b/osu.Framework/Platform/GameHost.cs @@ -325,7 +325,7 @@ protected GameHost([NotNull] string gameName, [CanBeNull] HostOptions options = }; } - protected virtual IRenderer CreateRenderer() => new OpenGLRenderer(); + protected virtual IRenderer CreateRenderer() => new GLRenderer(); /// /// Performs a GC collection and frees all framework caches. From 1d8cd01c7f025c2ea7efb1b86ab5d521076eedb8 Mon Sep 17 00:00:00 2001 From: Salman Ahmed Date: Fri, 26 Aug 2022 09:05:29 +0300 Subject: [PATCH 3/4] `TextureGL` -> `GLTexture` --- .../Graphics/OpenGL/Buffers/GLFrameBuffer.cs | 18 +++++++++--------- osu.Framework/Graphics/OpenGL/GLRenderer.cs | 10 +++++----- .../Textures/{TextureGL.cs => GLTexture.cs} | 8 ++++---- .../{VideoTextureGL.cs => GLVideoTexture.cs} | 4 ++-- osu.Framework/Graphics/Sprites/Sprite.cs | 2 +- 5 files changed, 21 insertions(+), 21 deletions(-) rename osu.Framework/Graphics/OpenGL/Textures/{TextureGL.cs => GLTexture.cs} (98%) rename osu.Framework/Graphics/OpenGL/Textures/{VideoTextureGL.cs => GLVideoTexture.cs} (97%) diff --git a/osu.Framework/Graphics/OpenGL/Buffers/GLFrameBuffer.cs b/osu.Framework/Graphics/OpenGL/Buffers/GLFrameBuffer.cs index 9a8b226cd2..767025337e 100644 --- a/osu.Framework/Graphics/OpenGL/Buffers/GLFrameBuffer.cs +++ b/osu.Framework/Graphics/OpenGL/Buffers/GLFrameBuffer.cs @@ -17,18 +17,18 @@ internal class GLFrameBuffer : IFrameBuffer private readonly List attachedRenderBuffers = new List(); private readonly GLRenderer renderer; - private readonly TextureGL textureGL; + private readonly GLTexture glTexture; private readonly int frameBuffer; public GLFrameBuffer(GLRenderer renderer, RenderbufferInternalFormat[]? renderBufferFormats = null, All filteringMode = All.Linear) { this.renderer = renderer; frameBuffer = GL.GenFramebuffer(); - Texture = renderer.CreateTexture(textureGL = new FrameBufferTexture(renderer, filteringMode), WrapMode.None, WrapMode.None); + Texture = renderer.CreateTexture(glTexture = new FrameBufferTexture(renderer, filteringMode), WrapMode.None, WrapMode.None); renderer.BindFrameBuffer(frameBuffer); - GL.FramebufferTexture2D(FramebufferTarget.Framebuffer, FramebufferAttachment.ColorAttachment0, TextureTarget2d.Texture2D, textureGL.TextureId, 0); + GL.FramebufferTexture2D(FramebufferTarget.Framebuffer, FramebufferAttachment.ColorAttachment0, TextureTarget2d.Texture2D, glTexture.TextureId, 0); renderer.BindTexture(0); if (renderBufferFormats != null) @@ -55,10 +55,10 @@ public Vector2 Size size = value; - textureGL.Width = (int)Math.Ceiling(size.X); - textureGL.Height = (int)Math.Ceiling(size.Y); - textureGL.SetData(new TextureUpload()); - textureGL.Upload(); + glTexture.Width = (int)Math.Ceiling(size.X); + glTexture.Height = (int)Math.Ceiling(size.Y); + glTexture.SetData(new TextureUpload()); + glTexture.Upload(); } } @@ -108,7 +108,7 @@ protected virtual void Dispose(bool disposing) if (isDisposed) return; - textureGL.Dispose(); + glTexture.Dispose(); renderer.DeleteFrameBuffer(frameBuffer); foreach (var buffer in attachedRenderBuffers) @@ -119,7 +119,7 @@ protected virtual void Dispose(bool disposing) #endregion - private class FrameBufferTexture : TextureGL + private class FrameBufferTexture : GLTexture { public FrameBufferTexture(GLRenderer renderer, All filteringMode = All.Linear) : base(renderer, 1, 1, true, filteringMode) diff --git a/osu.Framework/Graphics/OpenGL/GLRenderer.cs b/osu.Framework/Graphics/OpenGL/GLRenderer.cs index ad2789ff21..6f195955a1 100644 --- a/osu.Framework/Graphics/OpenGL/GLRenderer.cs +++ b/osu.Framework/Graphics/OpenGL/GLRenderer.cs @@ -78,7 +78,7 @@ internal class GLRenderer : IRenderer private readonly GlobalStatistic statTextureUploadsPerformed = GlobalStatistics.Get(nameof(GLRenderer), "Texture uploads performed"); private readonly ConcurrentQueue expensiveOperationQueue = new ConcurrentQueue(); - private readonly ConcurrentQueue textureUploadQueue = new ConcurrentQueue(); + private readonly ConcurrentQueue textureUploadQueue = new ConcurrentQueue(); private readonly GLDisposalQueue disposalQueue = new GLDisposalQueue(); private readonly Scheduler resetScheduler = new Scheduler(() => ThreadSafety.IsDrawThread, new StopwatchClock(true)); // force no thread set until we are actually on the draw thread. @@ -225,7 +225,7 @@ void IRenderer.BeginFrame(Vector2 windowSize) int uploadedPixels = 0; // continue attempting to upload textures until enough uploads have been performed. - while (textureUploadQueue.TryDequeue(out TextureGL? texture)) + while (textureUploadQueue.TryDequeue(out GLTexture? texture)) { statTextureUploadsDequeued.Value++; @@ -791,7 +791,7 @@ public void ScheduleDisposal(Action disposalAction, T target) /// Enqueues a texture to be uploaded in the next frame. /// /// The texture to be uploaded. - public void EnqueueTextureUpload(TextureGL texture) + public void EnqueueTextureUpload(GLTexture texture) { if (texture.IsQueuedForUpload) return; @@ -929,11 +929,11 @@ public IFrameBuffer CreateFrameBuffer(RenderBufferFormat[]? renderBufferFormats throw new ArgumentException($"Unsupported filtering mode: {filteringMode}", nameof(filteringMode)); } - return CreateTexture(new TextureGL(this, width, height, manualMipmaps, glFilteringMode, initialisationColour), wrapModeS, wrapModeT); + return CreateTexture(new GLTexture(this, width, height, manualMipmaps, glFilteringMode, initialisationColour), wrapModeS, wrapModeT); } public Texture CreateVideoTexture(int width, int height) - => CreateTexture(new VideoTextureGL(this, width, height), WrapMode.None, WrapMode.None); + => CreateTexture(new GLVideoTexture(this, width, height), WrapMode.None, WrapMode.None); public Texture CreateTexture(INativeTexture nativeTexture, WrapMode wrapModeS, WrapMode wrapModeT) { diff --git a/osu.Framework/Graphics/OpenGL/Textures/TextureGL.cs b/osu.Framework/Graphics/OpenGL/Textures/GLTexture.cs similarity index 98% rename from osu.Framework/Graphics/OpenGL/Textures/TextureGL.cs rename to osu.Framework/Graphics/OpenGL/Textures/GLTexture.cs index ed665058e1..1f827909cb 100644 --- a/osu.Framework/Graphics/OpenGL/Textures/TextureGL.cs +++ b/osu.Framework/Graphics/OpenGL/Textures/GLTexture.cs @@ -17,7 +17,7 @@ namespace osu.Framework.Graphics.OpenGL.Textures { - internal class TextureGL : INativeTexture + internal class GLTexture : INativeTexture { protected readonly GLRenderer Renderer; private readonly Queue uploadQueue = new Queue(); @@ -53,7 +53,7 @@ public string Identifier public ulong BindCount { get; protected set; } /// - /// Creates a new . + /// Creates a new . /// /// /// The width of the texture. @@ -61,7 +61,7 @@ public string Identifier /// Whether manual mipmaps will be uploaded to the texture. If false, the texture will compute mipmaps automatically. /// The filtering mode. /// The colour to initialise texture levels with (in the case of sub region initial uploads). - public TextureGL(GLRenderer renderer, int width, int height, bool manualMipmaps = false, All filteringMode = All.Linear, Rgba32 initialisationColour = default) + public GLTexture(GLRenderer renderer, int width, int height, bool manualMipmaps = false, All filteringMode = All.Linear, Rgba32 initialisationColour = default) { Renderer = renderer; Width = width; @@ -86,7 +86,7 @@ public void Dispose() GC.SuppressFinalize(this); } - ~TextureGL() + ~GLTexture() { Dispose(false); } diff --git a/osu.Framework/Graphics/OpenGL/Textures/VideoTextureGL.cs b/osu.Framework/Graphics/OpenGL/Textures/GLVideoTexture.cs similarity index 97% rename from osu.Framework/Graphics/OpenGL/Textures/VideoTextureGL.cs rename to osu.Framework/Graphics/OpenGL/Textures/GLVideoTexture.cs index 5b6cff6e3c..84db0235ba 100644 --- a/osu.Framework/Graphics/OpenGL/Textures/VideoTextureGL.cs +++ b/osu.Framework/Graphics/OpenGL/Textures/GLVideoTexture.cs @@ -12,11 +12,11 @@ namespace osu.Framework.Graphics.OpenGL.Textures { - internal unsafe class VideoTextureGL : TextureGL + internal unsafe class GLVideoTexture : GLTexture { private int[] textureIds; - public VideoTextureGL(GLRenderer renderer, int width, int height) + public GLVideoTexture(GLRenderer renderer, int width, int height) : base(renderer, width, height, true) { } diff --git a/osu.Framework/Graphics/Sprites/Sprite.cs b/osu.Framework/Graphics/Sprites/Sprite.cs index f724b81f7a..7a32cf1723 100644 --- a/osu.Framework/Graphics/Sprites/Sprite.cs +++ b/osu.Framework/Graphics/Sprites/Sprite.cs @@ -227,7 +227,7 @@ protected virtual Quad ComputeConservativeScreenSpaceDrawQuad() // ====================================================================================================================== // RectangleF texRect = RelativeDrawTextureRectangle; - // Vector2 shrinkageAmount = Vector2.Divide(texRect.Size * (1 << TextureGLSingle.MAX_MIPMAP_LEVELS) / 2, Texture.Size); + // Vector2 shrinkageAmount = Vector2.Divide(texRect.Size * (1 << IRenderer.MAX_MIPMAP_LEVELS) / 2, Texture.Size); // shrinkageAmount = Vector2.ComponentMin(shrinkageAmount, texRect.Size / 2); // texRect = texRect.Inflate(-shrinkageAmount); // From 69ef9745386f28f432a756004d9a573fb3cb19bf Mon Sep 17 00:00:00 2001 From: Salman Ahmed Date: Fri, 26 Aug 2022 09:06:33 +0300 Subject: [PATCH 4/4] `OpenGL{Linear/Quad}IndexData` -> `GL{Linear/Quad}IndexData` --- .../Graphics/OpenGL/Buffers/GLLinearBuffer.cs | 12 ++++++------ .../Graphics/OpenGL/Buffers/GLQuadBuffer.cs | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/osu.Framework/Graphics/OpenGL/Buffers/GLLinearBuffer.cs b/osu.Framework/Graphics/OpenGL/Buffers/GLLinearBuffer.cs index 568530f2ca..67cbcffbab 100644 --- a/osu.Framework/Graphics/OpenGL/Buffers/GLLinearBuffer.cs +++ b/osu.Framework/Graphics/OpenGL/Buffers/GLLinearBuffer.cs @@ -10,9 +10,9 @@ namespace osu.Framework.Graphics.OpenGL.Buffers { - internal static class OpenGLLinearIndexData + internal static class GLLinearIndexData { - static OpenGLLinearIndexData() + static GLLinearIndexData() { GL.GenBuffers(1, out EBO_ID); } @@ -42,17 +42,17 @@ protected override void Initialise() { base.Initialise(); - if (amountVertices > OpenGLLinearIndexData.MaxAmountIndices) + if (amountVertices > GLLinearIndexData.MaxAmountIndices) { ushort[] indices = new ushort[amountVertices]; for (int i = 0; i < amountVertices; i++) indices[i] = (ushort)i; - Renderer.BindBuffer(BufferTarget.ElementArrayBuffer, OpenGLLinearIndexData.EBO_ID); + Renderer.BindBuffer(BufferTarget.ElementArrayBuffer, GLLinearIndexData.EBO_ID); GL.BufferData(BufferTarget.ElementArrayBuffer, (IntPtr)(amountVertices * sizeof(ushort)), indices, BufferUsageHint.StaticDraw); - OpenGLLinearIndexData.MaxAmountIndices = amountVertices; + GLLinearIndexData.MaxAmountIndices = amountVertices; } } @@ -61,7 +61,7 @@ public override void Bind(bool forRendering) base.Bind(forRendering); if (forRendering) - Renderer.BindBuffer(BufferTarget.ElementArrayBuffer, OpenGLLinearIndexData.EBO_ID); + Renderer.BindBuffer(BufferTarget.ElementArrayBuffer, GLLinearIndexData.EBO_ID); } protected override PrimitiveType Type { get; } diff --git a/osu.Framework/Graphics/OpenGL/Buffers/GLQuadBuffer.cs b/osu.Framework/Graphics/OpenGL/Buffers/GLQuadBuffer.cs index 11bd489fa9..af371fda6b 100644 --- a/osu.Framework/Graphics/OpenGL/Buffers/GLQuadBuffer.cs +++ b/osu.Framework/Graphics/OpenGL/Buffers/GLQuadBuffer.cs @@ -11,9 +11,9 @@ namespace osu.Framework.Graphics.OpenGL.Buffers { - internal static class OpenGLQuadIndexData + internal static class GLQuadIndexData { - static OpenGLQuadIndexData() + static GLQuadIndexData() { GL.GenBuffers(1, out EBO_ID); } @@ -45,7 +45,7 @@ protected override void Initialise() { base.Initialise(); - if (amountIndices > OpenGLQuadIndexData.MaxAmountIndices) + if (amountIndices > GLQuadIndexData.MaxAmountIndices) { ushort[] indices = new ushort[amountIndices]; @@ -59,10 +59,10 @@ protected override void Initialise() indices[j + 5] = (ushort)(i + 1); } - Renderer.BindBuffer(BufferTarget.ElementArrayBuffer, OpenGLQuadIndexData.EBO_ID); + Renderer.BindBuffer(BufferTarget.ElementArrayBuffer, GLQuadIndexData.EBO_ID); GL.BufferData(BufferTarget.ElementArrayBuffer, (IntPtr)(amountIndices * sizeof(ushort)), indices, BufferUsageHint.StaticDraw); - OpenGLQuadIndexData.MaxAmountIndices = amountIndices; + GLQuadIndexData.MaxAmountIndices = amountIndices; } } @@ -71,7 +71,7 @@ public override void Bind(bool forRendering) base.Bind(forRendering); if (forRendering) - Renderer.BindBuffer(BufferTarget.ElementArrayBuffer, OpenGLQuadIndexData.EBO_ID); + Renderer.BindBuffer(BufferTarget.ElementArrayBuffer, GLQuadIndexData.EBO_ID); } protected override int ToElements(int vertices) => 3 * vertices / 2;