Graphics: Replace RenderFrame by RenderResources

This changes makes the whole rendering independent from the RenderFrame acquired from the Swapchain.
This may allow to do offscreen rendering (= without swapchain), or multi-window rendering in the future
This commit is contained in:
Lynix
2023-11-21 23:33:18 +01:00
parent d7d5c09428
commit 1e81b38c0f
66 changed files with 213 additions and 196 deletions

View File

@@ -31,7 +31,7 @@ namespace Nz
inline Vk::Fence& GetInFlightFence();
inline Vk::Semaphore& GetImageAvailableSemaphore();
inline UInt32 GetImageIndex();
UInt32 GetImageIndex() const override;
inline Vk::Semaphore& GetRenderFinishedSemaphore();
VulkanUploadPool& GetUploadPool() override;

View File

@@ -16,11 +16,6 @@ namespace Nz
return m_imageAvailableSemaphore;
}
inline UInt32 VulkanRenderImage::GetImageIndex()
{
return m_imageIndex;
}
inline Vk::Semaphore& VulkanRenderImage::GetRenderFinishedSemaphore()
{
return m_renderFinishedSemaphore;

View File

@@ -57,6 +57,7 @@ namespace Nz
PresentMode GetPresentMode() const override;
PresentModeFlags GetSupportedPresentModes() const override;
inline const Vk::Swapchain& GetSwapchain() const;
RenderResources& GetTransientResources() override;
void NotifyResize(const Vector2ui& newSize) override;
@@ -64,8 +65,6 @@ namespace Nz
void SetPresentMode(PresentMode presentMode) override;
TransientResources& Transient() override;
VulkanSwapchain& operator=(const VulkanSwapchain&) = delete;
VulkanSwapchain& operator=(VulkanSwapchain&&) = delete;