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

◆ load_into_buffer()

bool MayaFlux::IO::ImageReader::load_into_buffer ( const std::shared_ptr< Buffers::VKBuffer > &  buffer)

Load image directly into an existing VKBuffer.

Parameters
bufferTarget buffer (must be large enough)
Returns
True if load succeeded

Definition at line 699 of file ImageReader.cpp.

700{
701 if (!m_is_open || !m_image_data) {
702 m_last_error = "No image open";
703 return false;
704 }
705
706 if (!buffer || !buffer->is_initialized()) {
707 m_last_error = "Invalid or uninitialized buffer";
708 return false;
709 }
710
711 size_t required_size = m_image_data->byte_size();
712 if (buffer->get_size_bytes() < required_size) {
713 m_last_error = "Buffer too small for image data";
714 return false;
715 }
716
718 m_image_data->data(),
719 required_size,
720 buffer);
721
723 "Loaded image into VKBuffer: {}x{} ({} bytes)",
724 m_image_data->width, m_image_data->height, required_size);
725
726 return true;
727}
#define MF_INFO(comp, ctx,...)
std::shared_ptr< NetworkGeometryBuffer > buffer
std::optional< ImageData > m_image_data
void upload_to_gpu(const void *data, size_t size, const std::shared_ptr< VKBuffer > &target, const std::shared_ptr< VKBuffer > &staging, size_t dst_offset)
Upload raw data to GPU buffer (auto-detects host-visible vs device-local)
@ FileIO
Filesystem I/O operations.
@ IO
Networking, file handling, streaming.

References buffer, MayaFlux::Journal::FileIO, MayaFlux::Journal::IO, m_image_data, m_is_open, m_last_error, MF_INFO, and MayaFlux::Buffers::upload_to_gpu().

+ Here is the call graph for this function: