MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
IOTransitions.hpp
Go to the documentation of this file.
1#pragma once
2
3namespace MayaFlux::Core {
4class VKImage;
5}
6
7namespace MayaFlux::Kakshya {
8class VideoFileContainer;
9class SoundFileContainer;
10class CameraContainer;
11class StreamContainer;
12struct VolumeData;
13struct MeshData;
14}
15
16namespace MayaFlux::Buffers {
17class BufferManager;
18class VideoContainerBuffer;
19class SoundContainerBuffer;
20class VolumeGridBuffer;
21class ComputeMeshBuffer;
22}
23
24namespace MayaFlux::Vruta {
25class TaskScheduler;
26}
27
28namespace MayaFlux::Kakshya {
29struct ImageData;
30}
31
32namespace MayaFlux::IO {
38class VolumeCapture;
39class SpatialCapture;
40class SpatialCache;
41}
42
43namespace MayaFlux::IO::Detail {
44
45using TextureResolver = std::function<std::shared_ptr<Core::VKImage>(const std::string& path)>;
46
48 const std::shared_ptr<Kakshya::VideoFileContainer>& container, uint32_t frame_rate);
49
51 const std::shared_ptr<Kakshya::SoundFileContainer>& container, uint32_t buffer_size);
52
54 const std::shared_ptr<Kakshya::CameraContainer>& container, uint64_t reader_id);
55
56TextureResolver make_default_resolver(const std::string& filepath);
57
58std::shared_ptr<Buffers::VideoContainerBuffer> create_video_container_buffer(
59 const std::shared_ptr<Buffers::BufferManager>& buffer_manager,
60 const std::shared_ptr<Kakshya::StreamContainer>& container);
61
62std::vector<std::shared_ptr<Buffers::SoundContainerBuffer>> create_audio_container_buffers(
63 const std::shared_ptr<Buffers::BufferManager>& buffer_manager,
64 const std::shared_ptr<Kakshya::SoundFileContainer>& container);
65
66std::shared_ptr<Buffers::VolumeGridBuffer> create_volume_grid_buffer(
67 const std::shared_ptr<Buffers::BufferManager>& buffer_manager,
68 const Kakshya::VolumeData& volume_data);
69
71 const std::string& filepath,
72 const std::vector<Kakshya::MeshData>& meshes,
73 const ModelWriteOptions& options);
74
76 const std::string& filepath,
77 const ImageData& data,
78 const ImageWriteOptions& options);
79
81 const std::string& filepath,
82 const Kakshya::VolumeData& data,
83 const VolumeWriteOptions& options);
84
86 const std::shared_ptr<Buffers::ComputeMeshBuffer>& buffer,
87 const std::string& path_pattern,
88 const ModelWriteOptions& options);
89
91 const std::string& path_pattern,
92 const std::vector<SpatialCaptureSource>& sources);
93
94std::unique_ptr<VolumeCapture> create_volume_capture(
95 Vruta::TaskScheduler& scheduler,
96 const std::shared_ptr<Buffers::VolumeGridBuffer>& volume,
97 const std::string& path_pattern,
98 const std::vector<std::string>& field_names,
99 const VolumeWriteOptions& options,
100 std::function<bool(Kakshya::VolumeData&&, const std::string&, const VolumeWriteOptions&)> save_fn,
101 uint32_t max_frames,
102 uint64_t frame_interval);
103
104std::unique_ptr<SpatialCapture> create_spatial_capture(
105 Vruta::TaskScheduler& scheduler,
106 const std::shared_ptr<SpatialCache>& cache,
107 std::vector<SpatialCaptureSource> sources,
108 uint32_t max_frames,
109 uint64_t frame_interval);
110
111} // namespace MayaFlux::IO::Detail
std::shared_ptr< NetworkGeometryBuffer > buffer
Alembic-backed writer for time-sampled spatial entity state: particle systems, point clouds,...
Records time-sampled spatial data from one or more sources into a single Alembic archive.
Records a numbered .vdb sequence from a running volume.
Token-based multimodal task scheduling system for unified coroutine processing.
Definition Scheduler.hpp:51
void configure_audio_container(const std::shared_ptr< Kakshya::SoundFileContainer > &container, uint32_t buffer_size)
bool execute_volume_write(const std::string &filepath, const Kakshya::VolumeData &data, const VolumeWriteOptions &options)
bool execute_mesh_snapshot(const std::shared_ptr< Buffers::ComputeMeshBuffer > &buffer, const std::string &path_pattern, const ModelWriteOptions &options)
std::vector< std::shared_ptr< Buffers::SoundContainerBuffer > > create_audio_container_buffers(const std::shared_ptr< Buffers::BufferManager > &buffer_manager, const std::shared_ptr< Kakshya::SoundFileContainer > &container)
void configure_video_container(const std::shared_ptr< Kakshya::VideoFileContainer > &container, uint32_t m_frame_rate)
bool execute_image_write(const std::string &filepath, const ImageData &data, const ImageWriteOptions &options)
bool execute_spatial_snapshot(const std::string &path_pattern, const std::vector< SpatialCaptureSource > &sources)
std::shared_ptr< Buffers::VolumeGridBuffer > create_volume_grid_buffer(const std::shared_ptr< Buffers::BufferManager > &buffer_manager, const Kakshya::VolumeData &volume_data)
std::unique_ptr< SpatialCapture > create_spatial_capture(Vruta::TaskScheduler &scheduler, const std::shared_ptr< SpatialCache > &cache, std::vector< SpatialCaptureSource > sources, uint32_t max_frames, uint64_t frame_interval)
std::unique_ptr< VolumeCapture > create_volume_capture(Vruta::TaskScheduler &scheduler, const std::shared_ptr< Buffers::VolumeGridBuffer > &volume, const std::string &path_pattern, const std::vector< std::string > &field_names, const VolumeWriteOptions &options, std::function< bool(Kakshya::VolumeData &&, const std::string &, const VolumeWriteOptions &)> save_fn, uint32_t max_frames, uint64_t frame_interval)
void configure_camera_container(const std::shared_ptr< Kakshya::CameraContainer > &container, uint64_t reader_id)
TextureResolver make_default_resolver(const std::string &filepath)
bool execute_mesh_write(const std::string &filepath, const std::vector< Kakshya::MeshData > &meshes, const ModelWriteOptions &options)
std::function< std::shared_ptr< Core::VKImage >(const std::string &path)> TextureResolver
std::shared_ptr< Buffers::VideoContainerBuffer > create_video_container_buffer(const std::shared_ptr< Buffers::BufferManager > &buffer_manager, const std::shared_ptr< Kakshya::StreamContainer > &container)
Kakshya::ImageData ImageData
Configuration for image writing.
Configuration for model writing.
One named stream a SpatialCapture (or save_spatial_snapshot) writes into a SpatialCache each tick.
Configuration for volume writing.
Raw image data loaded from file or read back from a GPU image.
Definition ImageData.hpp:55
A lattice and every field sampled over it, held in host memory.