vulkan中对图像image的读写——image view

来源:互联网 发布:java soa 编辑:程序博客网 时间:2024/06/04 18:12
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">在vulkan中,管线着色器不是直接读写image的。</span>

image view相当于一个对象,在这个对象代表了image所占据的连续内存区域,并且包含一些额外的成员用来对image进行读写。

image view必须创建于一个类型一致的image上面。

imageview的类型如下:

typedef enum VkImageViewType {VK_IMAGE_VIEW_TYPE_1D = 0,VK_IMAGE_VIEW_TYPE_2D = 1,VK_IMAGE_VIEW_TYPE_3D = 2,VK_IMAGE_VIEW_TYPE_CUBE = 3,VK_IMAGE_VIEW_TYPE_1D_ARRAY = 4,VK_IMAGE_VIEW_TYPE_2D_ARRAY = 5,VK_IMAGE_VIEW_TYPE_CUBE_ARRAY = 6,} VkImageViewType;

创建一个image view:

VkResult vkCreateImageView(VkDevice device,const VkImageViewCreateInfo* pCreateInfo,const VkAllocationCallbacks* pAllocator,VkImageView* pView);

VKImageViewCreateInfo结构体:

typedef struct VkImageViewCreateInfo {VkStructureType sType;const void* pNext;VkImageViewCreateFlags flags;VkImage image;VkImageViewType viewType;VkFormat format;VkComponentMapping components;VkImageSubresourceRange subresourceRange;} VkImageViewCreateInfo;


0 0
原创粉丝点击