Files
Z3D/include/assets/data_loaders/mesh_loader.hpp

40 lines
816 B
C++

#pragma once
#include "generic/base_dynamic_loader.hpp"
#include <filesystem>
#include "assets/data/mesh_data.hpp"
#include "assets/data_stores/mesh_store.hpp"
#include "assets/file_parsers/obj_loader.hpp"
#include "assets/file_parsers/stl_loader.hpp"
#include "assets/prefetch_lookups/mesh_prefetch_lookup.hpp"
namespace assets
{
class mesh_loader : public base_dynamic_loader<
mesh_vertex_components::flags,
obj_loader,
stl_loader
> {
public:
[[nodiscard]] std::error_code prefetch(
loader_id_type loader_id,
const ztu::string_list& directories,
prefetch_queue& queue
);
[[nodiscard]] std::error_code load(
loader_id_type loader_id,
const ztu::string_list& directories,
mesh_store& store,
mesh_prefetch_lookup& id_lookup,
bool pedantic = false
);
private:
mesh_data m_buffer{};
};
}