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

◆ build_grid()

std::shared_ptr< Buffers::RelaxationGridBuffer > MayaFlux::Evolve::Impl::build_grid ( const Buffers::RelaxationGridBuffer::GridConfig &  config,
const RenderConfig &  render,
const std::vector< std::byte > &  seed,
size_t  seed_stride 
) const
inline

Definition at line 166 of file Evolve.cpp.

171 {
172 if (!has_target(render)) {
173 return nullptr;
174 }
175
176 auto grid = std::make_shared<Buffers::RelaxationGridBuffer>(config);
177
178 if (!seed.empty()) {
179 if (seed_stride != grid->get_cell_stride_bytes()) {
181 "evolve: seed cell is {} bytes but the grid's cell format is {} bytes",
182 seed_stride, grid->get_cell_stride_bytes());
183 return nullptr;
184 }
185 grid->seed_state(seed.data(), seed.size());
186 }
187
189 grid->setup_rendering(render);
190 return grid;
191 }
#define MF_ERROR(comp, ctx,...)
@ Init
Engine/subsystem initialization.
@ API
MayaFlux/API Wrapper and convenience functions.
void register_graphics_buffer(const std::shared_ptr< Buffers::VKBuffer > &buffer, Buffers::ProcessingToken token)
Registers a VKBuffer with the default engine's buffer manager.
Definition Graph.cpp:250

References MayaFlux::Journal::API, MayaFlux::Journal::Init, MF_ERROR, and MayaFlux::register_graphics_buffer().

+ Here is the call graph for this function: