protected void Resize(int width, int height) { if (Width == width && Height == height) { return; } if (width != 0) { Width = width; } if (height != 0) { Height = height; } if (mRenderBuffer != null) { mRenderBuffer.Dispose(); } if (Width == 0 || Height == 0) { return; } mRenderBuffer = new RenderBuffer(Width, Height, PixelFormat); Invalidate(); }
void Dispose(bool disposing) { if (!disposed) { if (disposing) { RenderBuffer?.Dispose(); renderBufferColorRects?.Dispose(); if (Texture is Texture texture) { texture?.Dispose(); } Visible = false; disposed = true; } } }
void IDisposable.Dispose() { Texture.Dispose(); GL.DeleteFramebuffers(1, ref _fboHandle); _depth.Dispose(); }