X-Git-Url: http://git.lukelau.me/?p=opengl.git;a=blobdiff_plain;f=model.hpp;fp=model.hpp;h=92aab0dd21cb80cb95791f475819522ee0b58056;hp=2803a7ee3cc7147550af2928ce5978419727f6f8;hb=b75b26b3081207cd4169f2ac50875e35d19b8a14;hpb=b65e36b22384a138e04ac9a49cbce9878e5e3366 diff --git a/model.hpp b/model.hpp index 2803a7e..92aab0d 100644 --- a/model.hpp +++ b/model.hpp @@ -7,11 +7,18 @@ #endif #include #include -#include #include "material.hpp" #include "program.hpp" #include "skybox.hpp" +inline glm::mat4 aiMatrixToMat4(aiMatrix4x4 from) { + glm::mat4 to; + for (int i = 0; i < 4; i++) + for (int j = 0; j < 4; j++) + to[i][j] = from[j][i]; + return to; +} + class Model { struct Animation { @@ -36,7 +43,7 @@ class Model { }; public: - Model(const std::string &path, Program p); + Model(const aiScene *scene, Program p); void draw(Skybox skybox, const float tick) const; class Node { @@ -68,6 +75,4 @@ class Model { std::vector materials; void loadModel(const std::string &path); - - Assimp::Importer importer; };