40 const std::shared_ptr<Buffers::VolumeGridBuffer>& volume,
41 const std::vector<std::string>& field_names = {});
77 const Kakshya::VolumeData& data,
78 const std::shared_ptr<Buffers::VolumeGridBuffer>& volume);
97 const std::shared_ptr<Buffers::VolumeGridBuffer>& volume,
98 const std::string& filepath,
99 const VolumeWriteOptions& options = {},
100 const std::vector<std::string>& field_names = {});
114 const Kakshya::VolumeData& data,
115 const std::string& filepath,
116 const VolumeWriteOptions& options = {});
173 std::shared_ptr<Buffers::VolumeGridBuffer> volume,
174 std::string path_pattern,
175 std::vector<std::string> field_names = {},
192 void start(uint32_t max_frames = 0, uint64_t frame_interval = 1);
207 bool capture_frame();
210 std::shared_ptr<Buffers::VolumeGridBuffer>
m_volume;
217 uint32_t m_max_frames {};
std::vector< std::string > m_fields
VolumeCapture & operator=(const VolumeCapture &)=delete
bool is_recording() const
VolumeWriteOptions m_options
VolumeCapture(const VolumeCapture &)=delete
uint32_t frames_written() const
std::shared_ptr< Buffers::VolumeGridBuffer > m_volume
Vruta::TaskScheduler & m_scheduler
Records a numbered .vdb sequence from a running volume.
Token-based multimodal task scheduling system for unified coroutine processing.
bool upload_volume(const Kakshya::VolumeData &data, const std::shared_ptr< Buffers::VolumeGridBuffer > &volume)
Upload every field of a host VolumeData into a GPU-resident volume.
bool save_volume(const Kakshya::VolumeData &data, const std::string &filepath, const VolumeWriteOptions &options)
Save already-downloaded VolumeData to disk via the registry.
std::optional< Kakshya::VolumeData > download_volume(const std::shared_ptr< Buffers::VolumeGridBuffer > &volume, const std::vector< std::string > &field_names)
Download named fields from a GPU-resident volume into host VolumeData.
std::function< bool(Kakshya::VolumeData &&, const std::string &, const VolumeWriteOptions &)> VolumeWriteHook
Where a captured frame goes.
Configuration for volume writing.
A lattice and every field sampled over it, held in host memory.