using Serilog; namespace Engine.Renderer; public abstract class OpenGlObject { public int Handle { get; protected set; } = -1; internal abstract void Bind(); internal abstract void Unbind(); protected abstract void Destroy(); ~OpenGlObject() { Destroy(); Handle = -1; Log.Debug("OpenGL object {Handle} destroyed", Handle); } }