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

◆ create_buffer_impl()

MAYAFLUX_API std::shared_ptr< Buffers::FormaBuffer > MayaFlux::Portal::Forma::internal::create_buffer_impl ( std::shared_ptr< Core::Window window,
size_t  capacity,
Graphics::PrimitiveTopology  topology,
const std::string &  texture_binding = {},
std::vector< std::pair< std::string, std::shared_ptr< Core::VKImage > > >  additional_textures = {} 
)

Core buffer construction — capacity-explicit path for internal use.

Called by public create_buffer overloads and by internal .cpp callers (plot, Collapsible) that know their capacity upfront.

Definition at line 101 of file Forma.cpp.

107 {
108 auto buf = std::make_shared<Buffers::FormaBuffer>(capacity, topology);
109 g_buffer_manager->add_buffer(buf, Buffers::ProcessingToken::GRAPHICS_BACKEND);
110
111 if (!additional_textures.empty()) {
112 buf->setup_rendering({
113 .target_window = std::move(window),
114 .additional_textures = std::move(additional_textures),
115 });
116 } else if (!texture_binding.empty()) {
117 buf->setup_rendering({
118 .target_window = std::move(window),
119 .default_texture_binding = texture_binding,
120 });
121 } else {
122 buf->setup_rendering({ .target_window = std::move(window) });
123 }
124 return buf;
125 }

References MayaFlux::Buffers::GRAPHICS_BACKEND.

Referenced by MayaFlux::Portal::Forma::create_buffer(), MayaFlux::Portal::Forma::create_buffer(), MayaFlux::Portal::Forma::create_buffer(), MayaFlux::Portal::Forma::create_buffer(), and MayaFlux::Portal::Forma::plot().

+ Here is the caller graph for this function: