mirror of
https://github.com/zoriya/Bomberman.git
synced 2026-06-05 02:49:57 +00:00
model
This commit is contained in:
@@ -0,0 +1,49 @@
|
|||||||
|
/*
|
||||||
|
** EPITECH PROJECT, 2021
|
||||||
|
** Bomberman
|
||||||
|
** File description:
|
||||||
|
** Model
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MODEL_HPP_
|
||||||
|
#define MODEL_HPP_
|
||||||
|
|
||||||
|
#include "IRessource.hpp"
|
||||||
|
#include <raylib.h>
|
||||||
|
|
||||||
|
namespace RAY {
|
||||||
|
//! @brief Basic 3d Model type
|
||||||
|
class Model: public IRessource {
|
||||||
|
public:
|
||||||
|
//! @brief Create an model, loading a file
|
||||||
|
//! @param filePath: path to file to load
|
||||||
|
Model(const std::string &filePath);
|
||||||
|
|
||||||
|
//! @brief Create an model, loading a file
|
||||||
|
//! @param mesh: mesh to load
|
||||||
|
Model(const Mesh &mesh);
|
||||||
|
|
||||||
|
//! @brief A copy constructor
|
||||||
|
Model(const Model &model);
|
||||||
|
|
||||||
|
//! @brief A model is assignable
|
||||||
|
Model& operator=(const Model &model) = default;
|
||||||
|
|
||||||
|
~Model() = default;
|
||||||
|
|
||||||
|
//! @brief Load model from file (meshes and materials)
|
||||||
|
bool load(const std::string &filePath);
|
||||||
|
|
||||||
|
//! @brief Load model from mesh (default materials)
|
||||||
|
bool load(const Mesh &mesh);
|
||||||
|
|
||||||
|
//! @brief Unload model (including meshes) from memory (RAM and/or VRAM)
|
||||||
|
bool unload();
|
||||||
|
|
||||||
|
//! @brief Unload model (excluding meshes) from memory (RAM and/or VRAM)
|
||||||
|
bool unloadKeepMeshes();
|
||||||
|
private:
|
||||||
|
::Model _model;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
#endif /* !Model_HPP_ */
|
||||||
Reference in New Issue
Block a user