ULRE/inc/hgl/graph/vulkan/VKRenderTarget.h
hyzboy 4a46a6e014 1.拆分建立独立的SwapchainAttribute
2.Swapchain代码完全迁移到VKSwapchain
2019-07-15 22:37:00 +08:00

46 lines
1.1 KiB
C++

#ifndef HGL_GRAPH_VULKAN_RENDER_TARGET_INCLUDE
#define HGL_GRAPH_VULKAN_RENDER_TARGET_INCLUDE
#include<hgl/graph/vulkan/VK.h>
#include<hgl/graph/vulkan/VKRenderPass.h>
#include<hgl/graph/vulkan/VKFramebuffer.h>
VK_NAMESPACE_BEGIN
class RenderTarget
{
Device *device;
RenderPass *rp;
Framebuffer *fb;
VkExtent2D extent;
List<ImageView *> colors;
ImageView *depth;
private:
friend class Device;
RenderTarget(Device *dev,RenderPass *_rp,Framebuffer *_fb)
{
device=dev;
rp=_rp;
fb=_fb;
}
public:
virtual ~RenderTarget()
{
if(fb)
delete fb;
}
const VkExtent2D & GetExtent ()const{return extent;} ///<取得画面尺寸
const uint GetColorCount ()const{colors.GetCount();} ///<取得颜色成份数量
const bool IsExistDepth ()const{return depth;} ///<是否存在深度成份
};//class RenderTarget
VK_NAMESPACE_END
#endif//HGL_GRAPH_VULKAN_RENDER_TARGET_INCLUDE