MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Buffers::GpuImageSource Concept Reference

Satisfied by any VKBuffer subclass that exposes a GPU-resident image. More...

#include <VKBuffer.hpp>

Concept definition

template<typename T>
concept MayaFlux::Buffers::GpuImageSource = std::derived_from<T, VKBuffer> && (requires(const T& b) {
{ b.get_texture() } -> std::convertible_to<std::shared_ptr<Core::VKImage>>; } || requires(const T& b) {
{ b.get_gpu_texture() } -> std::convertible_to<std::shared_ptr<Core::VKImage>>; })
size_t b
Satisfied by any VKBuffer subclass that exposes a GPU-resident image.
Definition VKBuffer.hpp:691

Detailed Description

Satisfied by any VKBuffer subclass that exposes a GPU-resident image.

Covers all pixel-bearing buffer types via whichever accessor they provide:

  • get_texture() TextureBuffer and all its children
  • get_gpu_texture() NodeTextureBuffer

New pixel-bearing buffer types satisfy this concept automatically by implementing either method with the correct return type. No registration or base class change required.

Processors constrained by GpuImageSource use if constexpr to select the correct accessor at compile time.

Definition at line 691 of file VKBuffer.hpp.