MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Mint Class Reference

Turns a structural config into a registered and rendered object. More...

#include <Mint.hpp>

+ Collaboration diagram for MayaFlux::Mint:

Classes

struct  Impl
 Wiring sequences behind Mint. More...
 

Public Member Functions

 Mint ()
 
 Mint (const Mint &)=delete
 
 Mint (Mint &&) noexcept
 
auto operator() (const StructureConfig::Assembly &config) -> std::shared_ptr< Buffers::NetworkGeometryBuffer >
 Mint independently supplied geometry into one rendered assembly.
 
auto operator() (const StructureConfig::Instances &config) -> std::shared_ptr< Buffers::InstanceNetworkBuffer >
 Mint repeated instances and their backing InstanceNetwork.
 
auto operator() (const StructureConfig::Isosurface &config) -> std::shared_ptr< Buffers::ComputeMeshBuffer >
 Mint a CPU or GPU evaluated isosurface.
 
auto operator() (const StructureConfig::Model &config) -> std::shared_ptr< Buffers::MeshNetworkBuffer >
 Mint a model and its backing MeshNetwork.
 
auto operator() (const StructureConfig::Object &config) -> std::shared_ptr< Buffers::MeshBuffer >
 Mint one independently rendered object and its backing MeshWriterNode.
 
Mint & operator= (const Mint &)=delete
 
Mint & operator= (Mint &&) noexcept
 
 ~Mint ()
 

Private Member Functions

std::shared_ptr< Buffers::NetworkGeometryBuffer > build (const StructureConfig::Assembly &config)
 
std::shared_ptr< Buffers::InstanceNetworkBuffer > build (const StructureConfig::Instances &config)
 
std::shared_ptr< Buffers::ComputeMeshBuffer > build (const StructureConfig::Isosurface &config)
 
std::shared_ptr< Buffers::MeshNetworkBuffer > build (const StructureConfig::Model &config)
 
std::shared_ptr< Buffers::MeshBuffer > build (const StructureConfig::Object &config)
 

Private Attributes

std::unique_ptr< Impl > m_impl
 

Detailed Description

Turns a structural config into a registered and rendered object.

Each overload performs the complete sequence for one arrangement: resolve its source, construct any required network, register the network and buffer in their required order, attach textures and configure rendering. Every config requires RenderConfig::target_window.

Nothing here is realtime safe. Call from the thread that constructs the objects.

Definition at line 28 of file Mint.hpp.


The documentation for this class was generated from the following files: