std140 implementation

This commit is contained in:
ZY4N
2025-03-27 19:47:32 +01:00
parent 70893c083b
commit 6f60cc11c8
45 changed files with 789 additions and 234 deletions

View File

@@ -2,12 +2,12 @@
#include "util/logger.hpp"
#include "opengl/error.hpp"
#include "opengl/vertex_buffer_utils.hpp"
#include "opengl/type_utils.hpp"
void zgl::mesh_vertex_buffer_manager::process(const assets::data_stores& stores)
void zgl::mesh_vertex_buffer_manager::process(const store_type& meshes)
{
for (const auto& [ id, mesh ] : stores.meshes)
for (const auto& [ id, mesh ] : meshes)
{
if (not m_resource_manager.has_resource(id))
{
@@ -30,16 +30,10 @@ void zgl::mesh_vertex_buffer_manager::process(const assets::data_stores& stores)
m_byte_buffer.clear();
std::apply(
[&](const auto&... component_buffers)
{
vertex_buffer_utils::interlace(
m_byte_buffer,
mesh.component_flags,
mesh.vertex_count,
component_buffers...
);
},
type_utils::interlace_vertex_buffer(
m_byte_buffer,
mesh.component_flags,
mesh.vertex_count,
mesh.vertex_component_arrays
);