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);
}