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

◆ build() [1/5]

std::shared_ptr< Buffers::NetworkGeometryBuffer > MayaFlux::Mint::Impl::build ( const StructureConfig::Assembly &  config) const
inline

Definition at line 258 of file Mint.cpp.

260 {
261 if (!has_target(config.render)) {
262 return nullptr;
263 }
264
265 auto network = config.network
266 ? config.network
267 : std::make_shared<Nodes::Network::AssemblyNetwork>();
268
269 for (const auto& source : config.sources) {
270 network->add_geometry(source);
271 }
272
273 if (network->get_node_count() == 0) {
275 "mint: Assembly requires at least one geometry source");
276 return nullptr;
277 }
278
279 register_network_if_needed(network);
280 auto buffer = std::make_shared<Buffers::NetworkGeometryBuffer>(network);
281 StructureConfig::RenderConfig render = config.render;
282 render.triangulate = true;
283 add_all_textures(render, config.textures);
285 buffer->setup_rendering(render);
286 buffer->get_render_processor()->set_mill_spec(config.mill);
287 return buffer;
288 }
#define MF_ERROR(comp, ctx,...)
Core::GlobalNetworkConfig network
Definition Config.cpp:43
std::shared_ptr< NetworkGeometryBuffer > buffer
@ 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
bool triangulate
Reduce supplied spans to triangles before drawing them.
Buffers::VKBuffer::RenderConfig RenderConfig
Render target and pipeline overrides.

References MayaFlux::Journal::API, buffer, MayaFlux::Journal::Init, MF_ERROR, MayaFlux::StructureConfig::Assembly::mill, network, MayaFlux::StructureConfig::Assembly::network, MayaFlux::register_graphics_buffer(), MayaFlux::StructureConfig::Assembly::render, MayaFlux::StructureConfig::Assembly::sources, MayaFlux::StructureConfig::Assembly::textures, and MayaFlux::Portal::Graphics::RenderConfig::triangulate.

+ Here is the call graph for this function: