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

40 lines
876 B
C++

#pragma once
#include "assets/prefetch_queue.hpp"
#include "assets/components/material_components.hpp"
#include "generic/base_dynamic_loader.hpp"
#include "assets/data_stores/material_store.hpp"
#include "assets/data/material_data.hpp"
#include "assets/prefetch_lookups/material_prefetch_lookup.hpp"
#include "util/string_list.hpp"
namespace assets
{
class material_loader : public base_dynamic_loader<
material_components::flags
// TODO no loaders (mtl is for material libraries)
> {
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,
material_store& store,
material_prefetch_lookup& id_lookup,
bool pedantic = false
);
private:
material_data m_buffer{};
};
}