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

◆ bind_vertex_buffers()

void MayaFlux::Portal::Graphics::RenderFlow::bind_vertex_buffers ( CommandBufferID  cmd_id,
const std::vector< std::shared_ptr< Buffers::VKBuffer > > &  buffers,
uint32_t  first_binding = 0 
)

Bind vertex buffers.

Parameters
cmd_idCommand buffer ID
buffersVertex buffers to bind
first_bindingFirst binding index

Definition at line 666 of file RenderFlow.cpp.

670{
671 auto cmd = m_shader_foundry->get_command_buffer(cmd_id);
672 if (!cmd) {
674 "Invalid command buffer ID: {}", cmd_id);
675 return;
676 }
677
678 std::vector<vk::Buffer> vk_buffers;
679 std::vector<vk::DeviceSize> offsets(buffers.size(), 0);
680
681 vk_buffers.reserve(buffers.size());
682 for (const auto& buf : buffers) {
683 vk_buffers.push_back(buf->get_buffer());
684
685 /* void* mapped = buf->get_mapped_ptr();
686 if (mapped) {
687 float* data = reinterpret_cast<float*>(mapped);
688 MF_PRINT(Journal::Component::Portal, Journal::Context::Rendering,
689 "BIND_VERTEX: All vertex data:");
690 for (int v = 0; v < 3; ++v) {
691 int offset = v * 6; // 24 bytes / 4 bytes per float = 6 floats per vertex
692 MF_PRINT(Journal::Component::Portal, Journal::Context::Rendering,
693 " Vertex {}: pos=({}, {}, {}), color=({}, {}, {})",
694 v,
695 data[offset], data[offset + 1], data[offset + 2],
696 data[offset + 3], data[offset + 4], data[offset + 5]);
697 }
698 } else {
699 MF_RT_ERROR(Journal::Component::Portal, Journal::Context::Rendering,
700 "BIND_VERTEX: Buffer not host-mapped!");
701 } */
702 }
703
704 cmd.bindVertexBuffers(first_binding, vk_buffers, offsets);
705}
#define MF_ERROR(comp, ctx,...)
vk::CommandBuffer get_command_buffer(CommandBufferID cmd_id)
Get Vulkan command buffer handle from CommandBufferID.
@ Rendering
GPU rendering operations (graphics pipeline, frame rendering)
@ Portal
High-level user-facing API layer.

References MayaFlux::Portal::Graphics::ShaderFoundry::get_command_buffer(), m_shader_foundry, MF_ERROR, MayaFlux::Journal::Portal, and MayaFlux::Journal::Rendering.

+ Here is the call graph for this function: