MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ from_vulkan_format()

std::optional< ImageFormat > MayaFlux::Portal::Graphics::TextureLoom::from_vulkan_format ( vk::Format  vk_format)
static

Convert Vulkan format to Portal ImageFormat.

Reverse twin of to_vulkan_format. Returns std::nullopt for Vulkan formats with no ImageFormat equivalent rather than guessing.

Definition at line 697 of file TextureLoom.cpp.

698{
699 switch (vk_format) {
700 case vk::Format::eR8Unorm:
701 return ImageFormat::R8;
702 case vk::Format::eR8G8Unorm:
703 return ImageFormat::RG8;
704 case vk::Format::eR8G8B8Unorm:
705 return ImageFormat::RGB8;
706 case vk::Format::eR8G8B8A8Unorm:
707 return ImageFormat::RGBA8;
708 case vk::Format::eR8G8B8A8Srgb:
710 case vk::Format::eB8G8R8A8Unorm:
711 return ImageFormat::BGRA8;
712
713 case vk::Format::eR16Unorm:
714 return ImageFormat::R16;
715 case vk::Format::eR16G16Unorm:
716 return ImageFormat::RG16;
717 case vk::Format::eR16G16B16A16Unorm:
718 return ImageFormat::RGBA16;
719
720 case vk::Format::eR16Sfloat:
721 return ImageFormat::R16F;
722 case vk::Format::eR16G16Sfloat:
723 return ImageFormat::RG16F;
724 case vk::Format::eR16G16B16A16Sfloat:
726
727 case vk::Format::eR32Sfloat:
728 return ImageFormat::R32F;
729 case vk::Format::eR32G32Sfloat:
730 return ImageFormat::RG32F;
731 case vk::Format::eR32G32B32A32Sfloat:
733
734 case vk::Format::eD16Unorm:
736 case vk::Format::eX8D24UnormPack32:
738 case vk::Format::eD32Sfloat:
740 case vk::Format::eD24UnormS8Uint:
742
743 default:
744 return std::nullopt;
745 }
746}
@ DEPTH24_STENCIL8
24-bit depth + 8-bit stencil
@ RG16
Two channel 16-bit unsigned integer.
@ BGRA8
8-bit BGRA unsigned normalized
@ RGBA16
Four channel 16-bit unsigned integer.
@ RGBA32F
Four channel 32-bit float.
@ R16F
Single channel 16-bit float.
@ R16
Single channel 16-bit unsigned integer.
@ RGBA16F
Four channel 16-bit float.
@ RG32F
Two channel 32-bit float.
@ R32F
Single channel 32-bit float.
@ RG16F
Two channel 16-bit float.
@ RGBA8_SRGB
Four channel 8-bit sRGB.

References MayaFlux::Portal::Graphics::BGRA8, MayaFlux::Portal::Graphics::DEPTH16, MayaFlux::Portal::Graphics::DEPTH24, MayaFlux::Portal::Graphics::DEPTH24_STENCIL8, MayaFlux::Portal::Graphics::DEPTH32F, MayaFlux::Portal::Graphics::R16, MayaFlux::Portal::Graphics::R16F, MayaFlux::Portal::Graphics::R32F, MayaFlux::Portal::Graphics::R8, MayaFlux::Portal::Graphics::RG16, MayaFlux::Portal::Graphics::RG16F, MayaFlux::Portal::Graphics::RG32F, MayaFlux::Portal::Graphics::RG8, MayaFlux::Portal::Graphics::RGB8, MayaFlux::Portal::Graphics::RGBA16, MayaFlux::Portal::Graphics::RGBA16F, MayaFlux::Portal::Graphics::RGBA32F, MayaFlux::Portal::Graphics::RGBA8, and MayaFlux::Portal::Graphics::RGBA8_SRGB.

Referenced by MayaFlux::IO::download_image().

+ Here is the caller graph for this function: