ULRE/example/Vulkan/VKImageView.h
hyzboy 19b5b08c25 1.RenderPass记录color/depth格式
2.建立ImageView类,封装imageview部分信息
3.改进CreateFramebuffer,增加ImageView传入格式检测
2019-04-22 00:33:48 +08:00

39 lines
1.0 KiB
C++

#ifndef HGL_GRAPH_VULKAN_IMAGE_VIEW_INCLUDE
#define HGL_GRAPH_VULKAN_IMAGE_VIEW_INCLUDE
#include"VK.h"
VK_NAMESPACE_BEGIN
class ImageView
{
VkDevice device;
VkImageView image_view;
VkImageViewCreateInfo info;
private:
friend ImageView *CreateImageView(VkDevice device,VkImageViewType type,VkFormat format,VkImageAspectFlags aspectMask,VkImage img);
ImageView(VkDevice dev,VkImageView iv,const VkImageViewCreateInfo &ci)
{
device=dev;
image_view=iv;
info=ci;
}
public:
~ImageView();
operator VkImageView(){return image_view;}
public:
const VkImageViewType GetViewType ()const{return info.viewType;}
const VkFormat GetFormat ()const{return info.format;}
const VkImageAspectFlags GetAspectFlags ()const{return info.subresourceRange.aspectMask;}
};//class ImageView
ImageView *CreateImageView(VkDevice device,VkImageViewType type,VkFormat format,VkImageAspectFlags aspectMask,VkImage img=nullptr);
VK_NAMESPACE_END
#endif//HGL_GRAPH_VULKAN_IMAGE_VIEW_INCLUDE