19#include <assimp/postprocess.h>
20#include <assimp/scene.h>
26#include <assimp/IOStream.hpp>
27#include <assimp/IOSystem.hpp>
28#include <assimp/Importer.hpp>
48 size_t Read(
void* pvBuffer,
size_t pSize,
size_t pCount);
49 size_t Write(
const void* pvBuffer,
size_t pSize,
size_t pCount) {
52 aiReturn
Seek(
size_t pOffset, aiOrigin pOrigin);
70 Assimp::IOStream*
Open(
const char* pFile,
const char* pMode)
override;
71 void Close(Assimp::IOStream* pFile)
override;
125 bool LoadMaterialTexture(aiMaterial* material,
const aiTextureType type, std::string& str);
Definition: assetprototype.h:37
Definition: modelloader.h:39
size_t Tell() const
Definition: modelloader.cpp:93
void Flush()
Definition: modelloader.cpp:95
size_t FileSize() const
Definition: modelloader.cpp:94
void Close()
Definition: modelloader.cpp:64
size_t Write(const void *pvBuffer, size_t pSize, size_t pCount)
Definition: modelloader.h:49
aiReturn Seek(size_t pOffset, aiOrigin pOrigin)
Definition: modelloader.cpp:75
IVirtualFilePtr ivfp
Definition: modelloader.h:45
IOStream(IVirtualFilePtr _ivfp)
Definition: modelloader.h:43
size_t Read(void *pvBuffer, size_t pSize, size_t pCount)
Definition: modelloader.cpp:66
Definition: modelloader.h:60
Assimp::IOStream * Open(const char *pFile, const char *pMode) override
Definition: modelloader.cpp:46
IOSystem(VirtualMounter *mount)
Definition: modelloader.cpp:39
void Close(Assimp::IOStream *pFile) override
Definition: modelloader.cpp:42
bool Exists(const char *file) const override
Definition: modelloader.cpp:40
char getOsSeparator() const override
Definition: modelloader.h:68
VirtualMounter * mount
Definition: modelloader.h:61
lib tracy file(GLOB_RECURSE CPP_FILES *.cpp) list(FILTER CPP_FILES EXCLUDE REGEX ".*main.cpp$") file(GLOB_RECURSE H_FILES *.h) set(SOURCE_FILES $
Definition: CMakeLists.txt:22
When adding assets, it is extremely crucial that you read cqsp::asset::AssetLoader::LoadResources to ...
Definition: asset.h:29
void LoadModelPrototype(ModelPrototype *prototype, Model *asset)
Definition: modelloader.cpp:155
void LoadModelData(engine::Mesh *mesh, std::vector< Vertex > &vertices, std::vector< unsigned int > &indices)
Definition: modelloader.cpp:196
@ MODEL
Model prototype.
Definition: assetprototype.h:30
std::shared_ptr< IVirtualFile > IVirtualFilePtr
Definition: vfs.h:33
Definition: modelloader.h:89
std::map< std::string, std::string > texture_map
Definition: modelloader.h:90
std::map< std::string, glm::vec3 > base_map
Definition: modelloader.h:91
Definition: modelloader.h:74
std::vector< unsigned int > indices
Definition: modelloader.h:76
std::vector< Vertex > vertices
Definition: modelloader.h:75
std::vector< std::string > textures
Definition: modelloader.h:77
int material_id
Definition: modelloader.h:78
Definition: modelloader.h:106
int m_count
Definition: modelloader.h:107
void LoadMaterial(int idx, aiMaterial *material)
Definition: modelloader.cpp:304
bool LoadMaterialTexture(aiMaterial *material, const aiTextureType type, std::string &str)
Definition: modelloader.cpp:200
ModelLoader(const aiScene *_scene, std::string asset_path)
Definition: modelloader.h:111
ModelPrototype * model_prototype
Definition: modelloader.h:108
const aiScene * scene
Definition: modelloader.h:109
std::string asset_path
Definition: modelloader.h:110
void LoadMesh(aiMesh *mesh)
Definition: modelloader.cpp:248
void LoadMaterials()
Definition: modelloader.cpp:293
void LoadModel()
Definition: modelloader.cpp:229
void LoadNode(aiNode *node)
Definition: modelloader.cpp:234
Definition: modelloader.h:94
std::map< std::string, int > texture_idx_map
Definition: modelloader.h:99
std::string shader
Definition: modelloader.h:101
int GetPrototypeType()
Definition: modelloader.h:103
std::vector< MeshPrototype > prototypes
Definition: modelloader.h:96
std::map< std::string, ModelTexturePrototype > texture_map
Definition: modelloader.h:97
std::map< int, MaterialPrototype > material_map
Definition: modelloader.h:98
Definition: modelloader.h:81
int height
Definition: modelloader.h:83
int width
Definition: modelloader.h:82
unsigned char * texture_data
Definition: modelloader.h:86
int channels
Definition: modelloader.h:84