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

◆ upload_template()

void MayaFlux::Buffers::InstanceSSBOProcessor::upload_template ( const std::shared_ptr< VKBuffer > &  vertex_buf)
private

Definition at line 89 of file InstanceSSBOProcessor.cpp.

90{
91 const auto& slots = m_network->slots();
92 if (slots.empty() || !slots[0].node)
93 return;
94
95 const auto span = slots[0].node->get_vertex_data();
96 if (span.empty())
97 return;
98
99 upload_resizing(span.data(), span.size_bytes(), vertex_buf, m_vertex_staging);
100
101 if (!vertex_buf->has_vertex_layout()) {
102 if (auto layout = slots[0].node->get_vertex_layout()) {
103 layout->vertex_count = static_cast<uint32_t>(span.size_bytes() / layout->stride_bytes);
104 vertex_buf->set_vertex_layout(*layout);
105 }
106 }
107}
std::shared_ptr< Nodes::Network::InstanceNetwork > m_network
void upload_resizing(const void *data, size_t size, const std::shared_ptr< VKBuffer > &target, const std::shared_ptr< VKBuffer > &staging, float growth_factor)
Upload size bytes to target, growing both buffers first if needed.

References m_network, m_vertex_staging, and MayaFlux::Buffers::upload_resizing().

Referenced by on_attach(), and processing_function().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: