コード例 #1
0
        public void ReleaseResources()
        {
            // Dispose render commands
            foreach (var command in _renderList)
            {
                if (command is IDisposable disposable)
                {
                    disposable.Dispose();
                }
            }

            // Dispose all loaded textures
            _textureLoader.Dispose();

            // Handle used by error handler callback
            if (_gcHandle != default)
            {
                _gcHandle.Free();
                _gcHandle = default;
            }

            // Dispose MRT frame buffer
            GL.DeleteFramebuffer(_mrtFrameBufferId);
            GL.DeleteTexture(_mrtFrameBufferMainTextureId);
            GL.DeleteRenderbuffer(_mrtFrameBufferDepthId);

            _logger.LogInformation("Render commands disposed");
        }