.. _program_listing_file_Src_GraphicsEngineOpenGL_scene_Model.hpp: Program Listing for File Model.hpp ================================== |exhale_lsh| :ref:`Return to documentation for file ` (``Src/GraphicsEngineOpenGL/scene/Model.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include #include #include "ObjLoader.hpp" #include "scene/AABB.hpp" #include "scene/Mesh.hpp" #include "scene/ObjMaterial.hpp" #include "scene/Vertex.hpp" #include "scene/texture/Texture.hpp" class Model { public: Model(); void load_model_in_ram(const std::string &model_path); void create_render_context(); void bind_ressources(); void unbind_resources(); std::shared_ptr get_aabb(); std::vector get_materials() const; int get_texture_count() const; void render(); ~Model(); private: // buffer for material id's GLuint ssbo; ObjLoader loader; std::shared_ptr aabb; std::shared_ptr mesh; std::vector vertices; std::vector indices; std::vector> texture_list; std::vector materials; std::vector materialIndex; std::vector textures; };