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

◆ allocate_ssbo_buffers()

void MayaFlux::Buffers::MeshNetworkProcessor::allocate_ssbo_buffers ( )
private

Definition at line 253 of file MeshNetworkProcessor.cpp.

254{
255 const size_t model_bytes = m_model_aggregate.size() * sizeof(glm::mat4);
256 const size_t slot_index_bytes = m_slot_index_aggregate.size() * sizeof(uint32_t);
257
258 if (model_bytes == 0 || slot_index_bytes == 0) {
259 MF_WARN(Journal::Component::Buffers, Journal::Context::BufferProcessing, "MeshNetworkProcessor::allocate_ssbo_buffers: aggregates empty at alloc time");
260 return;
261 }
262
263 m_model_ssbo = std::make_shared<VKBuffer>(
266
267 m_slot_index_ssbo = std::make_shared<VKBuffer>(
270}
#define MF_WARN(comp, ctx,...)
std::shared_ptr< VKBuffer > m_slot_index_ssbo
Per-vertex slot index. One uint32_t per concatenated vertex.
std::vector< uint32_t > m_slot_index_aggregate
CPU-side scratch for per-vertex slot indices, reused each cycle.
std::shared_ptr< VKBuffer > m_model_ssbo
Per-slot world matrices in sorted_indices order. One mat4 per slot.
std::vector< glm::mat4 > m_model_aggregate
CPU-side scratch for model matrices, reused each cycle.
Registry::Service::BufferService * m_buffer_service
Definition VKBuffer.hpp:651
@ COMPUTE
Storage buffer for compute shaders.
@ BufferProcessing
Buffer processing (Buffers::BufferManager, processing chains)
@ Buffers
Buffers, Managers, processors and processing chains.
@ UNKNOWN
Unknown or undefined modality.
std::function< void(const std::shared_ptr< void > &)> initialize_buffer
Initialize a buffer object.

References MayaFlux::Journal::BufferProcessing, MayaFlux::Journal::Buffers, MayaFlux::Buffers::VKBuffer::COMPUTE, MayaFlux::Registry::Service::BufferService::initialize_buffer, MayaFlux::Buffers::VKBufferProcessor::m_buffer_service, m_model_aggregate, m_model_ssbo, m_slot_index_aggregate, m_slot_index_ssbo, MF_WARN, and MayaFlux::Kakshya::UNKNOWN.

Referenced by processing_function().

+ Here is the caller graph for this function: