SpiecsEngine
 
Loading...
Searching...
No Matches

◆ CreateImageView()

void Spices::VulkanImage::CreateImageView ( VkFormat format,
VkImageViewType viewType,
VkImageAspectFlags aspectFlags,
bool isCreateMipmapView = false )

Create Image View.

Parameters
[in]formatVkFormat.
[in]viewTypeVkImageViewType.
[in]aspectFlagsVkImageAspectFlags.
[in]isCreateMipmapViewTrue if needs create imageview for all mipmaps.

Instance a VkImageViewCreateInfo.

Create ImageView.

Instance a VkImageViewCreateInfo.

Create ImageView.

Definition at line 727 of file VulkanImage.cpp.

728 {
730
731 uint32_t count = isCreateMipmapView ? m_MipLevels : 1;
732
733 m_ImageViews.resize(count);
734 for(int i = 0; i < count; i++)
735 {
739 VkImageViewCreateInfo viewInfo{};
740 viewInfo.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO;
741 viewInfo.image = m_Image;
742 viewInfo.viewType = viewType;
743 viewInfo.format = format;
744 viewInfo.subresourceRange.aspectMask = aspectFlags;
745 viewInfo.subresourceRange.baseMipLevel = i;
746 viewInfo.subresourceRange.levelCount = isCreateMipmapView ? 1 : m_MipLevels; // mipmaps num.
747 viewInfo.subresourceRange.baseArrayLayer = 0; // layer index.(access given index layer of texture array/texture cube)
748 viewInfo.subresourceRange.layerCount = m_Layers; // layer num.
749
753 VK_CHECK(vkCreateImageView(m_VulkanState.m_Device, &viewInfo, nullptr, &m_ImageViews[i]))
754 DEBUGUTILS_SETOBJECTNAME(VK_OBJECT_TYPE_IMAGE_VIEW, reinterpret_cast<uint64_t>(m_ImageViews[i]), m_VulkanState.m_Device, "ImageView")
755 }
756 }
#define SPICES_PROFILE_ZONE
#define VK_CHECK(expr)
Vulkan Check macro. Verify Vulkan API Effectiveness.
Definition VulkanUtils.h:68
uint32_t m_MipLevels
Image mipmaps num.
std::vector< VkImageView > m_ImageViews
The image view.
VkImage m_Image
The VkImage this Class Wrapped.
uint32_t m_Layers
Image layer(texture cube: 6).
VulkanState & m_VulkanState
The global VulkanState Referenced from VulkanRenderBackend.
constexpr int count
Calculate count that meets requirement.
Definition TypeList.h:289

References m_MipLevels.