MayaFlux 0.1.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 714 of file RenderFlow.cpp.

718{
719 auto cmd = m_shader_foundry->get_command_buffer(cmd_id);
720 if (!cmd) {
722 "Invalid command buffer ID: {}", cmd_id);
723 return;
724 }
725
726 std::vector<vk::Buffer> vk_buffers;
727 std::vector<vk::DeviceSize> offsets(buffers.size(), 0);
728
729 vk_buffers.reserve(buffers.size());
730 for (const auto& buf : buffers) {
731 vk_buffers.push_back(buf->get_buffer());
732
733 /* void* mapped = buf->get_mapped_ptr();
734 if (mapped) {
735 float* data = reinterpret_cast<float*>(mapped);
736 MF_PRINT(Journal::Component::Portal, Journal::Context::Rendering,
737 "BIND_VERTEX: All vertex data:");
738 for (int v = 0; v < 3; ++v) {
739 int offset = v * 6; // 24 bytes / 4 bytes per float = 6 floats per vertex
740 MF_PRINT(Journal::Component::Portal, Journal::Context::Rendering,
741 " Vertex {}: pos=({}, {}, {}), color=({}, {}, {})",
742 v,
743 data[offset], data[offset + 1], data[offset + 2],
744 data[offset + 3], data[offset + 4], data[offset + 5]);
745 }
746 } else {
747 MF_RT_ERROR(Journal::Component::Portal, Journal::Context::Rendering,
748 "BIND_VERTEX: Buffer not host-mapped!");
749 } */
750 }
751
752 cmd.bindVertexBuffers(first_binding, vk_buffers, offsets);
753}
#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: