VoxelEngine/src/graphics/render/ModelsGenerator.hpp
2025-07-13 21:28:57 +03:00

37 lines
871 B
C++

#pragma once
#include "graphics/commons/Model.hpp"
#include "maths/aabb.hpp"
#include "data/dv.hpp"
struct ItemDef;
class Assets;
class Content;
class Block;
struct Variant;
class ModelsGenerator {
public:
static void prepare(Content& content, Assets& assets);
static model::Model generate(
const ItemDef& def, const Content& content, const Assets& assets
);
static model::Model fromCustom(
const Assets& assets,
const std::vector<AABB>& modelBoxes,
const std::vector<std::string>& modelTextures,
const std::vector<glm::vec3>& points,
bool lighting
);
static model::Model loadCustomBlockModel(
const dv::value& primitives, const Assets& assets, bool lighting
);
static void prepareModel(
Assets& assets, const Block& def, Variant& variant, uint8_t variantId
);
};