ULRE/inc/hgl/graph/vulkan/VKFramebuffer.h

35 lines
992 B
C
Raw Normal View History

#ifndef HGL_GRAPH_VULKAN_FRAMEBUFFER_INCLUDE
2019-04-18 21:42:22 +08:00
#define HGL_GRAPH_VULKAN_FRAMEBUFFER_INCLUDE
#include<hgl/graph/vulkan/VK.h>
2019-04-18 21:42:22 +08:00
VK_NAMESPACE_BEGIN
2019-04-18 22:10:24 +08:00
2019-04-18 21:42:22 +08:00
class Framebuffer
{
VkDevice device;
VkFramebuffer frame_buffer;
private:
2019-06-19 17:25:23 +08:00
friend Framebuffer *CreateFramebuffer(Device *dev,RenderPass *rp,ImageView **color_list,const uint color_count,ImageView *depth);
2019-04-18 21:42:22 +08:00
Framebuffer(VkDevice dev,VkFramebuffer fb)
{
device=dev;
frame_buffer=fb;
}
public:
~Framebuffer();
2019-04-18 22:10:24 +08:00
operator VkFramebuffer(){return frame_buffer;}
2019-04-18 21:42:22 +08:00
};//class Framebuffer
Framebuffer *CreateFramebuffer(Device *,RenderPass *,List<ImageView *> &color,ImageView *depth);
Framebuffer *CreateFramebuffer(Device *,RenderPass *,List<ImageView *> &image_view_list);
Framebuffer *CreateFramebuffer(Device *,RenderPass *,ImageView *color,ImageView *depth=nullptr);
Framebuffer *CreateFramebuffer(Device *,RenderPass *,ImageView *depth);
2019-04-18 21:42:22 +08:00
VK_NAMESPACE_END
#endif//HGL_GRAPH_VULKAN_FRAMEBUFFER_INCLUDE