- Added D3D12ResourceFactory for creating render targets, textures, and buffers. - Enhanced D3D12SwapChain to manage back buffer render targets and provide access to them. - Updated D3D12Texture to utilize resource handles for better resource management. - Removed legacy ResourceAllocator and integrated improvements for resource handling. - Introduced new interfaces for resource factory and swap chain to streamline resource creation. - Added support for mip levels and texture dimensions in render target and texture descriptions. - Created new markdown files to document allocator and swap chain improvements.
41 lines
1.4 KiB
C#
41 lines
1.4 KiB
C#
using Ghost.Graphics.Data;
|
|
|
|
namespace Ghost.Graphics.RHI;
|
|
|
|
public interface IResourceFactory
|
|
{
|
|
/// <summary>
|
|
/// Creates a render target for off-screen rendering
|
|
/// </summary>
|
|
/// <param name="desc">Render target description</param>
|
|
/// <returns>A new render target instance</returns>
|
|
public IRenderTarget CreateRenderTarget(ref readonly RenderTargetDesc desc);
|
|
|
|
/// <summary>
|
|
/// Creates a texture resource
|
|
/// </summary>
|
|
/// <param name="desc">Texture description</param>
|
|
/// <returns>A new texture handle point to the resource</returns>
|
|
public TextureHandle CreateTextureHandle(ref readonly TextureDesc desc);
|
|
|
|
/// <summary>
|
|
/// Creates a texture resource
|
|
/// </summary>
|
|
/// <param name="desc">Texture description</param>
|
|
/// <returns>A new texture instance</returns>
|
|
public ITexture CreateTexture(ref readonly TextureDesc desc);
|
|
|
|
/// <summary>
|
|
/// Creates a buffer resource
|
|
/// </summary>
|
|
/// <param name="desc">Buffer description</param>
|
|
/// <returns>A new buffer handle point to the resource</returns>
|
|
public BufferHandle CreateBufferHandle(ref readonly BufferDesc desc);
|
|
|
|
/// <summary>
|
|
/// Creates a buffer resource
|
|
/// </summary>
|
|
/// <param name="desc">Buffer description</param>
|
|
/// <returns>A new buffer instance</returns>
|
|
public IBuffer CreateBuffer(ref readonly BufferDesc desc);
|
|
} |