|
MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
|
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 |
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.