3 #include <assimp/Importer.hpp>
4 #include <assimp/postprocess.h>
5 #include <assimp/scene.h>
19 bool loadOBJFile(
const std::string& path, std::vector<Vertex>& vertices, std::vector<uint32_t>& faces,
const float scalingFactor = 1.0f);
27 bool loadOBJTile(std::vector<Vertex>& vertices, std::vector<uint32_t>& faces);
39 bool loadGlTFFile(
const std::string& path, std::vector<CharacterVertex>& vertices, std::vector<uint32_t>& indices, std::array<Animation, ANIMATION_TYPE_COUNT>& animations, std::vector<BoneNode>& bones, std::vector<glm::mat4>& transformations);
48 size_t loadAnimations(
const aiScene* scene,
const std::map<std::string, uint32_t> nameToIndex, std::array<Animation, ANIMATION_TYPE_COUNT>& animations);
58 size_t fillSkeleton(aiNode* rootNode, std::vector<BoneNode>& boneList, std::vector<glm::mat4>& transformations, std::map<std::string, uint32_t>& nameToIndex);
bool loadOBJFile(const std::string &path, std::vector< Vertex > &vertices, std::vector< uint32_t > &faces, const float scalingFactor=1.0f)
Loads the object from the given path.
Definition: Assimp.cpp:75
size_t loadAnimations(const aiScene *scene, const std::map< std::string, uint32_t > nameToIndex, std::array< Animation, ANIMATION_TYPE_COUNT > &animations)
Loads animations from the given scene.
Definition: Assimp.cpp:264
bool loadOBJTile(std::vector< Vertex > &vertices, std::vector< uint32_t > &faces)
Loads a double sided tile object.
Definition: Assimp.cpp:112
std::vector< uint32_t > aiFaceToFace(const aiFace &face)
Convert aiFace to RehtiGraphics Face.
Definition: Assimp.cpp:500
bool loadGlTFFile(const std::string &path, std::vector< CharacterVertex > &vertices, std::vector< uint32_t > &indices, std::array< Animation, ANIMATION_TYPE_COUNT > &animations, std::vector< BoneNode > &bones, std::vector< glm::mat4 > &transformations)
Loads the object from the given path.
Definition: Assimp.cpp:150
glm::quat aiQuaternionToGlm(const aiQuaternion &quaternion)
Convert aiQuaternion to glm::quat.
Definition: Assimp.cpp:446
std::vector< Vertex > aiVector3DVectorToVertexVector(const std::vector< aiVector3D > &vectors)
Convert vector of aiVector3D to vector of Vertex.
Definition: Assimp.cpp:490
std::vector< uint32_t > aiFaceVectorToFaceVector(const std::vector< aiFace > &faces)
Convert vector of aiFace to vector of RehtiGraphics Faces.
Definition: Assimp.cpp:510
void debugCharacterVertices(const std::vector< CharacterVertex > &vertices)
Prints out faulty vertices.
Definition: Assimp.cpp:456
Vertex aiVector3DToVertex(const aiVector3D &vector)
Convert aiVector3D to Vertex.
Definition: Assimp.cpp:483
glm::mat4 aiMatrix4x4ToGlm(const aiMatrix4x4 &matrix)
Convert aiMatrix4x4 to glm::mat4.
Definition: Assimp.cpp:424
size_t fillSkeleton(aiNode *rootNode, std::vector< BoneNode > &boneList, std::vector< glm::mat4 > &transformations, std::map< std::string, uint32_t > &nameToIndex)
Fills the given vectors with hierarchy and bone data.
Definition: Assimp.cpp:369
glm::vec3 aiVector3DToGlm(const aiVector3D &vector)
Convert aiVector3D to glm::vec3.
Definition: Assimp.cpp:451
Definition: MapObjLoader.hpp:10