ULRE/inc/hgl/graph/VKSwapchain.h

54 lines
1.2 KiB
C
Raw Normal View History

2025-01-24 23:45:37 +08:00
#pragma once
#include<hgl/graph/VK.h>
#include<hgl/graph/VKTexture.h>
#include<hgl/type/List.h>
2025-01-24 23:45:37 +08:00
#include<hgl/graph/VKFramebuffer.h>
#include<hgl/graph/VKCommandBuffer.h>
VK_NAMESPACE_BEGIN
2025-01-24 23:45:37 +08:00
struct SwapchainImage
{
Texture2D * color =nullptr;
Texture2D * depth =nullptr;
Framebuffer * fbo =nullptr;
RenderCmdBuffer * cmd_buf =nullptr;
2025-01-24 23:45:37 +08:00
public:
~SwapchainImage()
{
delete cmd_buf;
2025-01-24 23:45:37 +08:00
delete fbo;
delete depth;
delete color;
}
};//struct SwapchainImage
struct Swapchain
{
public:
2025-01-24 23:45:37 +08:00
VkDevice device =VK_NULL_HANDLE;
2025-01-24 23:45:37 +08:00
VkExtent2D extent;
VkSurfaceTransformFlagBitsKHR transform;
2025-01-24 23:45:37 +08:00
VkSwapchainKHR swap_chain =VK_NULL_HANDLE;
VkSurfaceFormatKHR surface_format;
VkFormat depth_format;
2025-01-25 00:15:00 +08:00
RenderPass * render_pass =nullptr;
2025-01-24 23:45:37 +08:00
uint32_t image_count =0;
2025-01-24 23:45:37 +08:00
SwapchainImage * sc_image =nullptr;
public:
virtual ~Swapchain();
};//struct Swapchain
VK_NAMESPACE_END