MayaFlux 0.5.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 642 of file TextureLoom.cpp.

643{
644 switch (vk_format) {
645 case vk::Format::eR8Unorm:
646 return ImageFormat::R8;
647 case vk::Format::eR8G8Unorm:
648 return ImageFormat::RG8;
649 case vk::Format::eR8G8B8Unorm:
650 return ImageFormat::RGB8;
651 case vk::Format::eR8G8B8A8Unorm:
652 return ImageFormat::RGBA8;
653 case vk::Format::eR8G8B8A8Srgb:
655 case vk::Format::eB8G8R8A8Unorm:
656 return ImageFormat::BGRA8;
657
658 case vk::Format::eR16Unorm:
659 return ImageFormat::R16;
660 case vk::Format::eR16G16Unorm:
661 return ImageFormat::RG16;
662 case vk::Format::eR16G16B16A16Unorm:
663 return ImageFormat::RGBA16;
664
665 case vk::Format::eR16Sfloat:
666 return ImageFormat::R16F;
667 case vk::Format::eR16G16Sfloat:
668 return ImageFormat::RG16F;
669 case vk::Format::eR16G16B16A16Sfloat:
671
672 case vk::Format::eR32Sfloat:
673 return ImageFormat::R32F;
674 case vk::Format::eR32G32Sfloat:
675 return ImageFormat::RG32F;
676 case vk::Format::eR32G32B32A32Sfloat:
678
679 case vk::Format::eD16Unorm:
681 case vk::Format::eX8D24UnormPack32:
683 case vk::Format::eD32Sfloat:
685 case vk::Format::eD24UnormS8Uint:
687
688 default:
689 return std::nullopt;
690 }
691}
@ 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: