Fixed issue in point_cloud_vertex_buffer_manager.cpp

This commit is contained in:
ZY4N
2025-03-25 02:34:26 +01:00
parent 71ea2d9237
commit bf0d85ec06
10 changed files with 20 additions and 830 deletions

View File

@@ -28,17 +28,14 @@ void zgl::point_cloud_vertex_buffer_manager::process(store_type& store)
{
auto [ store_id, point_cloud ] = entry;
const auto& [ components, buffers ] = point_cloud;
m_byte_buffer.clear();
const auto meta = std::apply(
std::apply(
[&](const auto&... component_buffers)
{
vertex_buffer_utils::interlace(m_byte_buffer, components, component_buffers...);
return vertex_buffer_utils::generate_metadata(components, component_buffers...);
vertex_buffer_utils::interlace(m_byte_buffer, point_cloud.vertex_component_flags, component_buffers...);
},
buffers
point_cloud.vertex_component_arrays
);
glBindBuffer(GL_ARRAY_BUFFER, buffer_id);
@@ -60,6 +57,11 @@ void zgl::point_cloud_vertex_buffer_manager::process(store_type& store)
continue;
}
const auto meta = point_cloud_vertex_buffer_metadata{
.component_flags = point_cloud.vertex_component_flags,
.point_count = point_cloud.point_count
};
m_resource_manager.add_resource(store_id, buffer_id, meta);
buffer_id = {};