namespace Ghost.Graphics.RHI; public interface IGraphicsEngine : IDisposable { public IRenderDevice Device { get; } public IResourceAllocator ResourceAllocator { get; } public IRenderer CreateRenderer(); /// /// Creates a command buffer for recording rendering commands /// /// Type of command buffer to create /// A new command buffer instance public ICommandBuffer CreateCommandBuffer(CommandBufferType type = CommandBufferType.Graphics); /// /// Creates a swap chain for presentation /// /// Swap chain description /// A new swap chain instance public ISwapChain CreateSwapChain(SwapChainDesc desc); }