public override void Dispose() { TickSystem.RemoveRenderItem(this); GL.BindBuffer(BufferTarget.ElementArrayBuffer, 0); GL.BindVertexArray(0); GL.BindVertexArray(0); GL.BindBuffer(BufferTarget.ArrayBuffer, 0); GL.DisableVertexAttribArray(0); GL.BindVertexArray(0); GL.BindBuffer(BufferTarget.ArrayBuffer, 0); GL.DisableVertexAttribArray(1); GL.BindVertexArray(0); GL.BindBuffer(BufferTarget.ArrayBuffer, 0); GL.DisableVertexAttribArray(2); GL.BindVertexArray(0); GL.BindBuffer(BufferTarget.ArrayBuffer, 0); GL.DisableVertexAttribArray(3); GL.DeleteBuffer(IBO); GL.DeleteBuffer(vbo); GL.DeleteBuffer(dbo); GL.DeleteBuffer(tbo); GL.DeleteBuffer(nbo); GL.DeleteVertexArray(VAO); if (meshCollider != null) { meshCollider.Dispose(); } }